仅有的倔强 发表于 2018-12-18 11:54:34

链表插入的疑问!

Status ListInsert_L(LinkList *la,int n,ElemType e)
{
   LinkList *p=la;
       LinkList m;
       int i=0;

       while( (*p && i<n-1)
       {
               (*p)=(*p)->next;
               i++;
       }

       if(i>n-1 || (*p)==NULL)
       {
               printf("没有该位置的数据");
                  return ERROR;
       }
   m=(LinkList)malloc(sizeof(ElemType));
       m->data=e;
       m->next=(*p)->next;
       (*p)->next=m;

return OK;
}

LinkList la; //创建头结点
printf("在第几个位置插入什么数据:");
       scanf("%d",&m);
       scanf("%d",&e);
ListInsert_L(&la,m,e);

为什么不对呀!!!!!

小酒酒呢 发表于 2018-12-18 12:46:11

这句代码 就有点粗心了
m=(LinkList)malloc(sizeof(ElemType));
动态分配内存应该分配一个链表节点大小的区域呀。不能是数据的类型

仅有的倔强 发表于 2018-12-18 17:35:16

小酒酒呢 发表于 2018-12-18 12:46
这句代码 就有点粗心了

动态分配内存应该分配一个链表节点大小的区域呀。不能是数据的类型

哈哈哈是的呢粗心啦 粗心啦

小酒酒呢 发表于 2018-12-19 09:14:00

那楼主不试着给个最佳答案吗。^_^

仅有的倔强 发表于 2018-12-19 15:25:10

小酒酒呢 发表于 2018-12-19 09:14
那楼主不试着给个最佳答案吗。^_^

这个问题没有解决噢
   不是根本的原因噢
页: [1]
查看完整版本: 链表插入的疑问!