朙鼬 2017-05-01 14:39 采纳率: 0%
浏览 1949

将顺序表前n个数与后m个数交换

#include
#include
#define ListSize 100
typedef struct
{
int data[ListSize];
int last; /*当前的表长度*/
}SeqList;
void CreateList(SeqList L,int n);
void PrintList(SeqList *L,int n);
void process(SeqList *L,int m,int n);
int main()
{
SeqList L;
int n=6;
L.last=0;
CreateList(&L,n); /
建立顺序表*/
PrintList(&L,n);/*打印顺序表*/
printf("\n");
process(&L,2,4);
PrintList(&L,n);
return 0;
}

/*顺序表的建立:*/
void CreateList(SeqList *L,int n)
{
int i;
printf("请输入 n 数:\n");
for(i=1;i<=n;i++)
{
scanf("%d",&L->data[i]);
}
L->last=n;
}

/*顺序表的打印:*/
void PrintList(SeqList *L,int n)
{
int i;
printf("顺序表 is:\n");
for(i=1;i<=n;i++)
{
printf("%d ",L->data[i]);
}
}

/*交换数据*/
void process(SeqList *L,int m,int n)

{
int i,k,x;
if(m<=n)

for(i=1;i<=m;i++)
{
x=L->data[0];

for(k=1;k<=L->last;k++)
L->data[k-1]=L->data[k]; L->data[L->last]=x;
}
else for(i=1;i<=n;i++)
{
x=L->data[L->last];
for(k=L->last-1;k>=0;k--)
L->data[k+1]=L->data[k];
L->data[0]=x;
}
}

这是我的代码,为什么输出有一个数是随机的。比如输入:6 9 5 8 2 4
输出:5 8 2 4 0 6,
这是为什么。求大神解答

  • 写回答

3条回答 默认 最新

  • threenewbee 2017-05-01 15:01
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 如何将下列的“无限压缩存储器”设计出来
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口