單鏈表的整表建立
順序結構
陣列的初始化
單鏈表
資料是分散的,占用空間根據需求即時生產;
宣告一節點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,完成依次...