數據結構—線性結構—(特殊鏈表)

雙鏈表:

由於單鏈表在插入刪除某元素操作時時間複雜度過高
所以在單鏈表的基礎上拓展爲雙鏈表
在這裏插入圖片描述
在這裏插入圖片描述

typedef struct DNode{
	ElemType data;
	struct DNode *prior *next;
}DNode, *DLinklist;

插入操作

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

刪除操作:

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

循環鏈表:

如果在單鏈表中,我們只知道單鏈表的尾指針,不知道單鏈表的頭指針

那麼我們無法通過尾指針來獲取頭指針

(所以我們引入循環鏈表)

循環單鏈表

在這裏插入圖片描述
在這裏插入圖片描述

循環雙鏈表:

在這裏插入圖片描述
在這裏插入圖片描述

判空條件:

循環單鏈表:當 L -> next == L; 時爲空
循環雙鏈表:當L -> next == L&&L -> prior == L 時爲空

在這裏插入圖片描述

靜態鏈表:

用數組存儲元素,用數組下標當作地址

最後一個元素所連接的地址爲-1

一般用於沒有指針的高級語言當中

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章