熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

數據結構之單鏈表基本運算的實現[2]

2013-11-15 15:13:44  來源: 數據結構 

   銷毀單鏈表

  單鏈表被構造使用完後由於其結點均為動態分配的內存空間所以必須要銷毀以釋放空間否則會造成申請的內存不能釋放單鏈表的銷毀操作是創建操作的逆運算由於要修改單鏈表的頭指針的指針變量所以要將頭指針地址傳給該函數首先判斷要銷毀的表是否存在然後在單鏈表存在的情況下釋放該單鏈表的所有結點(包括頭結點)具體算法如下

  void Destroy_LinkList(LinkList *Headdress)

  { /*銷毀單鏈表入口參數單鏈表頭指針的地址出口參數無*/

  LinkList pq;

  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);

  }

[]  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/23084.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.