首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

逆位序建立单链表解决方法

2013-11-25 
逆位序建立单链表void CreateList(LinkList &L, int n) {// 逆序输入 n 个数据元素,建立带头结点的单链表i

逆位序建立单链表

void CreateList(LinkList &L, int n)
 {
    // 逆序输入 n 个数据元素,建立带头结点的单链表
    int i;
L = (LinkList) malloc (sizeof (LNode));
         if(!L)
          exit(-2);
    L->next = NULL;    // 先建立一个带头结点的单链表
    for (i = n; i > 0; --i) 

    LinkList p;
    p = (LinkList) malloc (sizeof (LNode));
    scanf("%c",&p->data);    // 输入元素值
    p->next = L->next;
L->next = p;  // 插入
}
} // CreateList

如图,假设头结点空间分配成功,在For循环中第m个元素空间分配失败,我想调用if(!L) exit(-2);请问调用这句代码之前,前m-1个元素的空间需要再写代码释放吗?如需要,帮我写一下。 数据结构 单链表 malloc exit
[解决办法]
LinkList难不成是个指针?
[解决办法]
malloc分配的空间,在不用的时候必须要free掉。
代码参考:
LinkList p = L->next ;
while(p!= NULL){
    L->next=p->next;
    free(p);
    p = L->next;
}

热点排行