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

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

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

  圖 雙向鏈表中的結點刪除

  雙向鏈表的結束條件和單鏈表相同雙向循環鏈表的結束條件和單向循環鏈表的結束條件相同

  靜態鏈表

  根據上節單鏈表的知識用單鏈表表示線性表時其結點空間是在運行時根據需要動態分配的利用指針實現線性表的線性關系但在有些語言中不提供指針類型這時我們就無法創建單鏈表但我們可借助數組來模擬單鏈表用數組下標相對地表示地址稱為靜態指針或索引這種鏈表稱之為靜態鏈表首先定義一個結構體記錄類型

  typedef struct {

  DataType data; /*元素*/

  int next;/*相對指針*/

  } SNode; /*結點類型*/

  再定義一個靜態鏈表

  #define MAXSIZE /*鏈表可能的最大長度*/

  typedef struct {

  SNode sp[MAXSIZE];

  int SL; /*靜態鏈表頭指針*/

  } StList *PStList;

  這種鏈表的結點中也有數據域data和指針域next與前面所講的鏈表中的指針不同的是這裡的指針是結點的相對地址(數組的下標)因為上面定義的數組中沒有下標為的單元所以空指針用表示如下圖所示的靜態單鏈表表示線性表(e e e e e)

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


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