單鏈表的實現(C )

2021-10-03 09:05:24 字數 2096 閱讀 8323

個人風格,我覺得最應該把總結放到最前面寫,因為查閱相關部落格的人都是了解了一些背景知識的,他們可能需要的就是關鍵的點睛之筆。

typedef

struct

node

linknode,

*linklist;

linknode 代表的是乙個node, 而 linklist 代表的則是指向這個 node 的指標,是指標型別。

有兩種插入方法,分別是頭插法,尾插法。分別實現一下。

//對鍊錶l,進行頭插操作 

void

headinsert

(linklist &l,

int num)

//對鍊錶l,進行尾插操作 

//修改的是tail這個指標,所以需要新增&號。同時傳入的是單鏈表的尾元素的指標

void

tailinsert

(linklist &tail,

int num)

//刪除值為num 的節點 

void

deletedata

(linklist &l,

int num)

prior=t;

t =t->next;

}}

//列印鍊錶中的資料 

void

printlinklist

(linklist l)

cout <<

"*****=列印鍊錶(0表示頭結點,-1表示尾結點)**********\n"

;while

(l->next!=

null

)cout<<

"\n"

;}

//初始化單鏈表的操作 

void

init

(linklist &head)

#

include

#include

using

namespace std;

typedef

struct

node

linknode,

*linklist;

//對鍊錶l,進行頭插操作

void

headinsert

(linklist &l,

int num)

//對鍊錶l,進行尾插操作

//修改的是tail這個指標,所以需要新增&號。同時傳入的是單鏈表的尾元素的指標

void

tailinsert

(linklist &tail,

int num)

//刪除值為num 的節點

void

deletedata

(linklist &l,

int num)

prior=t;

t =t->next;}}

//列印鍊錶中的資料

void

printlinklist

(linklist l)

cout <<

"*****=列印鍊錶(0表示頭結點,-1表示尾結點)**********\n"

;while

(l->next!=

null

)cout<<

"\n";}

//初始化單鏈表的操作

void

init

(linklist &head)

intmain()

//3.列印單鏈表

printlinklist

(head)

;//4.執行刪除操作

cout <<

"*****=刪除操作**********請輸入要刪除的元素:\n"

;while((

scanf

("%d"

,&num)

!=eof))

}

4

1 2 3 3

3

單鏈表的c 實現

node類標頭檔案 ifndef node h define node h include include using namespace std class node endif node類cpp include node.h using namespace std 過載 運算子 ostream ...

單鏈表的C 實現

include using namespace std struct node class list void insertlist int adata,int bdata void deletelist int adata void outputlist node gethead void lis...

C 單鏈表的實現

include include include include using namespace std typedef struct student node node create 建立單鏈表 else cycle 0 head head next p next null coutreturn h...