知识大全 数据结构之单链表基本运算的实现[2]

Posted 结点

篇首语:直如朱丝绳,清如玉壶冰。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构之单链表基本运算的实现[2]相关的知识,希望对你有一定的参考价值。

   销毁单链表

  单链表被构造 使用完后 由于其结点均为动态分配的内存空间 所以必须要销毁 以释放空间 否则会造成申请的内存不能释放 单链表的销毁操作是创建操作的逆运算 由于要修改单链表的头指针的指针变量 所以要将头指针地址传给该函数 首先判断要销毁的表是否存在 然后在单链表存在的情况下释放该单链表的所有结点(包括头结点) 具体算法如下

  void Destroy_LinkList(LinkList *Headdress)

   /*销毁单链表 入口参数 单链表头指针的地址 出口参数 无*/

  LinkList p q;

  if ( ! (*Headdress)) /*判断单链表是否存在 不存在则直接返回*/

  return;

  p=*Headdress;

  while ( p!=NULL) /*释放单链表的所有结点*/

  

  q=p;

  p=p >next;

  free(q);

   /*while */

  *Headdress=NULL; /*将头指针变为零表示单链表不存在*/

  

  设调用函数为主函数 主函数对创建函数和销毁函数的调用如下

  main( )

  

  LinkList H;

  H =Creat_LinkList();

  ……

  Destroy_LinkList(&H);

  

cha138/Article/program/sjjg/201311/23084

相关参考