c語言鍊錶 鍊錶

2021-10-02 16:21:53 字數 1082 閱讀 5853

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

這樣的操作顯然很耽誤時間,如果使用鍊錶則會快很多,鍊錶需要用到指標。

此時如果需要在8前面插入乙個6,只需要乙個間接的指標把5這個數和8這個數連線起來,並不需要再挪數字。

c語言中實現鍊錶還需要乙個malloc函式實現,這個函式可以直接給指標分配乙個位址。

要定義指標只在變數名前面加上乙個*就可以了。

int

*p;double

*q;

乙個指標可以指向乙個變數的位址,比如

int a,

*p;cin >> a;

p =&a;

#include

using

namespace std;

intmain()

這道題目的**:

#include

#include

//這裡建立乙個結構體用來表示鍊錶的結點型別

//乙個是int型別的數值

//乙個是連線指標

struct node

;int

main()

scanf

("%d"

,&a)

;//讀入待插入的數

t = head;

//從鍊錶頭部開始遍歷

while

(t !=

null

) t = t-

>next;

}//輸出鍊錶中的所有數

t = head;

while

(t !=

null

)getchar()

;getchar()

;return0;

}

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

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

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

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

鍊錶(C語言)

鍊錶 是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。相比較順序結構,鍊錶比較方便插入和...