单链表的整表删除

来源:互联网 发布:连云港管家婆软件 编辑:程序博客网 时间:2024/05/17 07:02

单链表的整表删除

其实就是在内存中将它释放掉,以便于留出空间给其他程序或软件使用;

算法思路:

  1. 声明一个结点pq

  2. 将第一个结点赋值给p

  3. 循环:

    1. 将下一个结点赋值给p

    2. 释放p

    3. q赋值给p

       

       

      q变量有没有存在的必要?如果直接写freep); p=p->next会带来什么问题?

      ******p是一个结点,它除了数据域,还有指针域,在freep)时,其实是在对它整个结点进行删除和内存释放的工作。

       

      /*初始条件:顺序线性表L已存在,操作结果:将L重置为空表*/

       

      Status   ClearListLinkList *L

      {

          LinkList p,q;

          p = L->next;

         

          while(p)

          {

                 q = p->next;

                 free(p);

                 p = q;

          }

         

          L->next = NULL;

         

          return OK;

0 0
原创粉丝点击