永发信息网

c语言(链表)改错,并对关键语句作出注释,O(∩_∩)O谢谢

答案:1  悬赏:0  手机版
解决时间 2021-04-03 04:58
  • 提问者网友:箛茗
  • 2021-04-02 08:12
c语言(链表)改错,并对关键语句作出注释,O(∩_∩)O谢谢
最佳答案
  • 五星知识达人网友:玩世
  • 2021-04-02 09:37
#include
#include
#define MAXSIZE 10
typedef struct{
int *elem;
int length;
}SqList;
void main()
{
SqList ST;
int i,x,y;
int ListInsert_Sq(SqList &L,int i,int e);
printf("请输入顺序表的长度");
scanf("%d",&ST.length);

ST.elem=(int*)malloc(sizeof(int)*ST.length);
for(i=0;i {
ST.elem[i]=rand()%100;
printf("%d ",ST.elem[i]);
}
printf("请输入你要插入的位置及元素值");
scanf("%d,%d",&i,&x); //输入要以逗号分隔,如1,3
y=ListInsert_Sq(ST,i,x);
for(i=0;i printf("%d ",ST.elem[i]);

}
int ListInsert_Sq(SqList &L,int i,int e) 
{
int j;
for(j=L.length-2;j>=0&& j>=i;j--) //
L.elem[j+1]=L.elem[j];
L.elem[i]=e;
// ++L.length; 你没有增加空间,所以++没有意义
return 1;
}追问改了哪里??谢谢追答for(i=0;i
for(j=L.length-2;j>=0&& j>=i;j--) //这里总长是length,而数组元素下标要比之小1,再加上要插入一个数,所以实际下标最后一个是length-2追问for(i=0;i
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯