本文目錄
1 什麼是鍊錶
2 鍊錶抽象資料型別
3 單向鍊錶
3.1 插入操作
3.1.1 在煉表頭插入
3.1.2 在鍊錶尾插入
3.1.3 在鍊錶中間任意位置插入
3.2 刪除查詢
3.2.1 在煉表頭刪除
3.2.2 在鍊錶尾刪除
3.2.3 在鍊錶中間任意位置刪除
4 雙向鍊錶
4.1 插入操作
4.1.1 在煉表頭插入
4.1.2 在鍊錶尾插入
4.1.3 在鍊錶中間任意位置插入
4.2 刪除查詢
4.2.1 在煉表頭刪除
4.2.2 在鍊錶尾刪除
4.2.3 在鍊錶中間任意位置刪除
5 迴圈鍊錶
5.1 插入操作
5.1.1 在煉表頭插入
5.1.2 在鍊錶尾插入
5.1.3 在鍊錶中間任意位置插入
5.2 刪除查詢
5.2.1 在煉表頭刪除
5.2.2 在鍊錶尾刪除
5.2.3 在鍊錶中間任意位置刪除
鍊錶是一種用於儲存資料集合的資料結構。鍊錶有如下屬性:
(1)相鄰元素之間通過指標連線;
(2)最後乙個元素的後繼指標值為null;
(3)在程式執行的過程中,鍊錶的長度可以增加或縮小;
(4)鍊錶的空間能夠按需分配(直到系統資源耗盡);
(5)沒有記憶體空間的浪費(但是鍊錶中的指標需要一些額外的記憶體開銷)。
鍊錶抽象資料型別中的操作主要有:
(1)主要操作
a)插入:插入乙個元素到鍊錶中;
b)刪除:移除並返回鍊錶中指定位置的元素。
(2)鍊錶的輔助操作
a)刪除鍊錶:移除鍊錶中的所有元素(清空鍊錶);
b)計數:返回鍊錶中元素的個數;
c)尋找:尋找從煉表表尾開始的第n個結點。
下述內容參考:《資料結構與演算法經典問題解析》一書,待補充:
資料結構 鍊錶 二
上篇部落格詳細介紹了鍊錶的基礎功能增刪改查,但是鍊錶的主要難度是在鍊錶的逆序上,下面主要介紹鍊錶逆序。1 鍊錶逆序 一 假設當前有5個結點,head a1 a2 a3 a4 a5,他們的頭指標是head。我們的思路便是將a1作為當前元素一直往後遍歷,並且將a1後面的資料依次挪到head之後。在第一次...
資料結構 二 鍊錶
鍊錶,就是鍊錶嘛,下面是鍊錶的基本操作 include include include include pragma warning disable 4996 typedef struct mylist li li createlist int n 建立含有n個資料的鍊錶,返回頭結點 void in...
資料結構試驗二 鍊錶
第二次資料結構試驗 老師給出的程式比較齊全,直接進行稍微修改就可以實現相乘了,僅僅是個雙迴圈而已,其他地方基本沒有難點了,主要是鍊錶的操作,自己做的比較粗糙,不過暫時功能考慮的還算可以.今天早上一點多完善的,但是想提交的時候,電腦沒電自動關機了.然後到現在提交了.根據給出的一元多項式的加法寫出一元多...