雙鏈表:
由於單鏈表在插入刪除某元素操作時時間複雜度過高
所以在單鏈表的基礎上拓展爲雙鏈表
typedef struct DNode{
ElemType data;
struct DNode *prior *next;
}DNode, *DLinklist;
插入操作
刪除操作:
循環鏈表:
如果在單鏈表中,我們只知道單鏈表的尾指針,不知道單鏈表的頭指針
那麼我們無法通過尾指針來獲取頭指針
(所以我們引入循環鏈表)
循環單鏈表
循環雙鏈表:
判空條件:
循環單鏈表:當 L -> next == L; 時爲空
循環雙鏈表:當L -> next == L&&L -> prior == L 時爲空
靜態鏈表:
用數組存儲元素,用數組下標當作地址
最後一個元素所連接的地址爲-1
一般用於沒有指針的高級語言當中