c語言頭插法尾插法建立鍊錶

2021-10-10 13:13:46 字數 807 閱讀 4817

頭插法尾插法建立鍊錶一直是大家初學演算法時搞不明白的事情,現在我將其總結了一下,發個部落格記錄一下

尾插法就是定義乙個頭結點之後,挨個往後建立鍊錶。

最關鍵的兩步就是

head->next=a;

head=a;

這兩步搞懂了就搞懂尾插法了

鄙人不才畫了兩幅圖,大家根據這個圖的原理一步步推自己再畫一下就能搞懂了

頭插法是定義了頭結點之後,一直在頭結點之後並且在建立的結點之前插入結點。

最關鍵的兩步就是

a->next=head->next;

head->next=a;

同理,這兩步搞懂就搞懂頭插法了

接下來是具體的**實現

#include #include #include typedef struct link

link;

//尾插法

link* creatlink()

return list;

}//頭插法

link* creattaillink()

return list;

}void printlist(link* p)

}int main()

頭插法 尾插法建立鍊錶

鍊錶是線性表的一種,一般來說鍊錶就是一系列的儲存資料元素的單元通過指標串接起來形成的,常見的鍊錶是單鏈表和雙鏈表,乙個域用於資料元素的儲存,另乙個或兩個域是指向其他單元的指標。對於單鏈表來說,指標域是乙個,指向當前節點的後繼節點 雙鏈表來說,乙個指標域指向當前節點的後繼節點,另外乙個指標域指向當前節...

鍊錶操作 頭插法尾插法

單鏈表的插入操作,包括頭插和尾插,兩種的時間複雜度都為o n 單鏈表插入操作 頭插 尾插 include include using namespace std 定義結點資料型別 typedef int elemtype 結點定義 typedef struct lnode lnode,linklis...

鍊錶之頭插法和尾插法

頭插法 生成的鍊錶和我輸入的資料順序是相反的,所以又稱逆序建表法。例如 e d c b a 建成的鍊錶就是 head a b c d e 演算法步驟 建立乙個只有頭結點的空鍊錶。根據待建立鍊錶的元素個數n,迴圈n次執行以下操作 生成乙個新結點 p 輸入元素值賦給新結點 p的資料域 將新結點 p插入到...