C資料結構鍊錶的插入,刪除,逆序

2021-08-07 09:40:17 字數 685 閱讀 6676

小女子最近苦於單鏈表的一些操作函式,終於有所領悟,急忙想跟和我一樣暈頭的同學一起分享,寫的不對的地方還請大家多多指教哦!同樣期待大神的指點!

那麼先說一下陣列和鍊錶吧!

陣列的缺點:我們一般用的傳統陣列的長度都要事先設定,記憶體由系統分配,函式呼叫結束後系統自動**,不能跨函式呼叫。

鍊錶:記憶體空間不要求連續,插入和刪除操作靈活

鍊錶是由頭結點,首結點,普通結點和尾結點組成的 。

結點儲存了兩部分資訊 

: 1 ,資料 

2,存放下乙個結點的結點指標

頭指標:指向頭結點的指標,通過頭指標可以遍歷鍊錶,對鍊錶進行所有操作

首結點:第乙個存放資料的結點

尾結點:存放有效資料,但是指標為null

那麼除了頭節點,其他結點都存放了有效資料,所以當頭結點的指標為null,說明此煉表為空鍊錶。

了解了鍊錶之後,那麼我們怎麼對鍊錶進行操作呢?

首先需要變數包含兩個資訊,那麼會想到結構體,結構體裡的成員乙個是資料,另乙個是指標,那麼這個指標應該定義什麼型別呢?因為指標是指向下乙個結點的,而下乙個結點又包含了兩部分資訊,所以我們這樣定義:

1:鍊錶的插入(頭插和尾插)

頭插法,每次新結點都會插入頭結點的下乙個結點,也就是首結點的位置。

尾插**如下:

未完見c資料結構鍊錶的插入,刪除,逆序等操作函式(2)

資料結構 鍊錶的插入刪除

遍歷列印鍊錶 public static void printlinkedlist listnode head system.out.println 1 頭插 public static listnode pushfront listnode head,int val public static l...

大話資料結構 鍊錶插入刪除操作

刪除l的第i個資料元素,並用e返回其值,l的長度減1.迴圈結束後,p指向第i 1個結點,p next指向第i個結點。如果第i個結點不存在,則p next none,無法刪除第i個結點。status listdelete linklist l,int i,elemtype e if p next no...

資料結構 鍊錶(3) 鍊錶的逆序

鍊錶的逆序 鍊錶的只逆序輸出,鍊錶不逆序,第二種是鍊錶的逆序。面試中經常考察鍊錶的逆序。總結鍊錶逆序的五個主要步驟 2 將當前結點的指標域指向當前結點的前乙個結點 3 將當前結點後移 4 將當前結點的前一結點的指標後移,進行迴圈 5 逆序之後的原來的頭指標的指標域為空。並建立新的頭結點 建立結構體 ...