用C語言簡單實現單鏈表

2021-10-08 08:47:59 字數 1415 閱讀 5425

typedef struct node

node,

*list;

單鏈表的初始化

void

initlist

(list plist)

plist-

>next =

null

;}

單鏈表的頭插法

該方法從乙個空鍊錶開始,讀取元素val,生成新的結點,將讀取的資料放到新結點的資料域中,然後將該新結點插入到當前鍊錶的表頭上。

bool insert_head

(list plist, int val)

單鏈表的尾插法

頭插法建立鍊錶雖然簡單,但是生成的鍊錶中結點的次序和原陣列元素的次序相反,若希望兩者一致,可採用尾插法。該方法是將新結點插入到當前鍊錶的尾部。為此必須增加乙個尾指標q,讓它一直指向當前鍊錶的尾結點。

bool insert_tail

(list plist, int val)

單鏈表的刪除

bool delete

(list plist, int key)

}return

false

;}

單鏈表的逆置

將所有的節點按照頭插的方式重新插入

void

reverse

(list plist)

node *p = plist-

>next;

node *q;

plist-

>next =

null

;while

(p !=

null

)}

單鏈表的銷毀

逐一釋放所有結點的空間

void

destroy

(list plist)

}

單鏈表的列印

void

show

(list plist)

printf

("\n");

}

單鏈表例項

int main()

reverse

(&head)

;show

(&head)

;return0;

}

用c語言實現單鏈表

用c語言實現單鏈表 node.h pragma once typedef int datatype typedef struct node node node buynode datatype x 增容 void printlist node phead 列印 void pushback node ...

用C語言實現單鏈表

最近在重新學資料結構,所以把每次寫完的 記錄一些!include include define error 0 define ok 1 構造節點 typedef struct node node 初始化鍊錶 n 初始化的長度 node init head int n node head node m...

C 語言單鏈表的實現(簡單實現)

簡單的實現單鏈表的增刪遍歷操作,還有一些功能需要實現。我感覺難理解的時候畫圖來搞清楚邏輯,先畫個圖比劃就行。author gong single linked list 增 刪 遍歷 include include 從新定義節點的資料域資料型別,以後好修改具體的鍊錶 typedef int data...