資料結構(二)鍊錶

2021-10-06 12:44:39 字數 1035 閱讀 4323

本文目錄

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...

資料結構試驗二 鍊錶

第二次資料結構試驗 老師給出的程式比較齊全,直接進行稍微修改就可以實現相乘了,僅僅是個雙迴圈而已,其他地方基本沒有難點了,主要是鍊錶的操作,自己做的比較粗糙,不過暫時功能考慮的還算可以.今天早上一點多完善的,但是想提交的時候,電腦沒電自動關機了.然後到現在提交了.根據給出的一元多項式的加法寫出一元多...