C語言鍊錶

2021-07-22 05:17:39 字數 802 閱讀 2287

1.陣列作為存放同類資料的集合,給我們在程式設計時帶來很多的方便,

增加了靈活性。但陣列也同樣存在一些弊病。

2.我們希望構造動態的陣列,隨時可以調整陣列的大小,

以滿足不同問題的需要。鍊錶就是我們需要的動態陣列。

3.它是在程式的執行過程中根據需要有資料儲存就向系統要求申請儲存空間,

決不構成對儲存區的浪費。

5.鍊錶中的各個元素在記憶體中是可以不是連續存放的,但是要找到某一

元素,必須知道它的位址,這就需要鍊錶必須有乙個頭指標(head)

6.鍊錶操作,包括鍊錶的建立,鍊錶的輸出,鍊錶的刪除,鍊錶的插入等

7.鍊錶節點的資料結構定義:

struct node

;@除乙個整型的成員外,成員p是指向與節點型別完全相同的指標。

@結構體內的指標域的資料型別使用了未定義成功的資料型別

@這是在c中唯一規定可以先使用後定義的資料結構。

8.鍊錶的建立、輸出步驟:

link_node* alloca_node(int value)

1 ) 定義鍊錶的資料結構;

2 ) 建立乙個空表;

3 ) 利用malloc ( )函式向系統申請分配乙個節點;

4 ) 將新節點的指標成員賦值為空。若是空表,將新節點連線到表頭;若是非空表,將新

節點接到表尾;

5 ) 判斷一下是否有後續節點要接入鍊錶,若有轉到3 ),否則結束;

9.單鏈表的輸出過程有以下幾步

1) 找到表頭;

2) 若是非空表,輸出節點的值成員,是空表則退出;

4) 轉到2 ).

c語言 鍊錶 C語言鍊錶例項 玩轉鍊錶

下圖為最一簡單鍊錶的示意圖 第 0 個結點稱為頭結點,它存放有第乙個結點的首位址,它沒有資料,只是乙個指標變數。以下的每個結點都分為兩個域,乙個是資料域,存放各種實際的資料,如學號 num,姓名 name,性別 和成績 score 等。另乙個域為指標域,存放下一結點的首位址。鍊錶中的每乙個結點都是同...

c語言鍊錶 鍊錶

在儲存一大波數的時候,我們通常使用陣列,但有時候陣列顯得不夠靈活,比如有一串已經從小到大排序好的數 2 3 5 8 9 10 18 26 32 現在需要往這串數中插入6使其得到的新序列仍符合從小到大排列。如果我們使用陣列來實現這一操作,則需要將8和8後面的數字都依次往後挪一位,如果你覺得這幾個數不算...

c語言 鍊錶 C語言之鍊錶入門

鍊錶三要素 1 頭指標 head 是用來說明鍊錶開始了,頭指標就代表鍊錶本身 所以以後要訪問鍊錶,就要訪問頭指標 2 結點 node 鍊錶中每乙個結構體變數 3 尾指標 用來說明鍊錶的結束 它是乙個空指標,null include includetypedef struct stud 定義了乙個結構...