2020 10 20單鏈表學習

2021-10-24 23:20:22 字數 820 閱讀 3843

單鏈表的整表建立

順序結構

陣列的初始化

單鏈表

資料是分散的,占用空間根據需求即時生產;

宣告一節點p和計數器變數i;

初始化一空鍊錶;

讓l的頭節點指向null,

迴圈插入;

頭插法建立單鏈表

把新元素放在表頭後的第乙個位置;

將新節點指向頭節點之後;

讓表頭的next指向新節點;

,頭插法會導致資料倒置;始終讓新節點插入第乙個位置;

尾插法

舊節點由null指向改變到新節點的資訊域;

新節點指向null;

對比

時間效能:插入以及刪除

空間效能:分配空間;

線性表需要頻繁查詢,很少進行 插入刪除則用順序,反之則用單鏈表;

靜態鍊錶

對陣列的第乙個和最後乙個做處理,不存放資料;

未使用的陣列稱之為備用鍊錶;

陣列的第乙個元素,存放備用鍊錶的第乙個節點的下標;

陣列的最後乙個元素存放第乙個有數值的元素的下標,相當於單鏈表的頭節點;

靜態鍊錶的插入

優點:在插入和刪除操作時,只需要修改游標,不需要移動元素,改進了順序儲存結構中的插入和刪除操作需要移動大量元素的缺點;

缺點:沒有解決連續儲存分配帶來的難以確定的表長問題;失去了順序結構隨機訪問的特性;

單鏈表學習

include stdafx.h include struct node 建立乙個結構體 void insertnode struct node head,int value ne struct node malloc sizeof struct node 申請堆空間 if ne null ne v...

單鏈表的學習

鍊錶是一種很重要的資料結構,它由兩部分組成,第乙個部分是我們要儲存的資料,第二個部分是指向下乙個儲存單元的指標。鍊錶在使用中有順序表無法比擬的靈活性,免去了儲存空間不夠,又有可能浪費的尷尬。單鏈表有乙個頭指標phead,當我們沒有資料要儲存的時候它指向null,當我們有資料的時候它指向第一塊儲存單元...

單鏈表(合併單鏈表)

單鏈表遍歷 單鏈表遍歷是從單鏈表頭指標head開始訪問,沿著next指標所指示的方向依次訪問每乙個結點,且每個結點只能訪問依次,直到最後乙個結點為止。遍歷時注意,不要改變head指標的指向。因此一般設定另外的乙個指標變數如p,p從head開始依次訪問乙個結點,直到鍊錶結束,此時p null,完成依次...