單鏈表是一種最簡單的鍊錶表示,也叫做線性鍊錶。用它來表示線性表時,用指標表示結點間的邏輯關係。因此單鏈表的乙個儲存結點包含兩個部分(data 和 next)。
我們需要定義結點(listnode)型別和乙個包含指向物理上頭結點(first)、尾結點(last)和記錄結點個數(size)的結構體(list)。
則鍊錶結構如下圖
我們首先需要初始化出乙個鍊錶結構程式如下圖
解釋:我們需要申請乙個物理上的頭結點(也可不要)然後初始化管理鍊錶的list。
頭插法:我們需要考慮是否插入的是第乙個邏輯頭結點。
1>是,我們需要使物理頭結點的next指向邏輯頭結點,然後改變last的指向。
2>否,我們需要在下圖的1,2號結點中插入3號結點
新插入結點的next指向first的next,first的next指向新插入結點。
然後增加size的大小。
有錯誤之處還請不吝賜教。
單鏈表的初始化和建立(尾插法)
1 include2 include3 typedef struct node 4node,linklist 89 void initlist linklist l 1014 15 linklist creatlist int n 16 24 h data 0 25 h next null 26 l...
單鏈表初始化,頭插,尾插,查詢,刪除
include using namespace std include 單鏈表的儲存結構 typedef struct node node,linklist 初始化單鏈表 void initlist l next null 建立空的單鏈表 l是帶頭結點的空煉表頭指標,通過鍵盤輸入表中元素值,利用頭插...
C語言 用尾插法和頭插法建立鍊錶
關於鍊錶的建立 輸出 釋放問題,具體可以看本人之前的一篇文章 c語言 建立鍊錶,輸出和釋放 這裡以將字串 i love program 放入鍊錶中為例 include include include define max 14 struct list typedef struct list node...