帶頭節點鍊錶的遞迴演算法

2021-09-28 19:13:43 字數 2085 閱讀 9414

#include

using

namespace std;

typedef

class

student

*linklist,link;

void

init_link

(linklist &l)

;void

input_link

(linklist &l,

int e)

;//尾插法建立鍊錶

void

delete_link

(linklist &l,

int x)

;//刪除鍊錶中第乙個為x的元素

void

delete_linkall

(linklist &l,

int x)

;//刪除所有節點為x的單鏈表

void

z_printlist

(linklist &l)

;//順序輸出單鏈表

void

f_printlist

(linklist l)

;//反向輸出鍊錶的所有節點

intmax_link

(linklist l)

;//鍊錶中元素最大的值

intlink_count

(linklist l)

;//節點的個數(不包含頭節點)

int cn=0;

intmain()

//cout<<"你想刪除鍊錶中那個元素">m;

//delete_link(l,m);

//delete_linkall(l,m);

z_printlist

(l);

cout

(l);

int max=

max_link

(l);

int number=

link_count

(l);

cout<<

"鍊錶節點最大為"

"鍊錶有"

<"個節點"

}void

init_link

(linklist &l)

void

input_link

(linklist &l,

int e)

//尾插法建立鍊錶

else

return;}

void

delete_link

(linklist &l,

int x)

//刪除鍊錶中第乙個為x的元素

else

if(l-

>next-

>scores==x)

else

}void

delete_linkall

(linklist &l,

int x)

//刪除所有節點為x的單鏈表

else

if(l-

>next-

>scores==x)

else

}void

z_printlist

(linklist &l)

//順序輸出單鏈表

return;}

intlink_count

(linklist l)

//節點的個數(不包含頭節點)

else

}int

max_link

(linklist l)

//鍊錶中元素最大的值

else

if(l-

>next-

>next==

null

) m=

max_link

(l->next);if

(m>l-

>next-

>scores)

else

}void

f_printlist

(linklist l)

//反向輸出鍊錶的所有節點

if(cn>0)

}

帶頭節點的鍊錶

include include includetypedef int type typedef struct node node 建立乙個頭節點並將其指標返回 node node init 列印乙個鍊錶 void node display node head else printf n 找到第n個節...

帶頭節點鍊錶總結

帶頭節點鍊錶的建立 初始化乙個頭結點 包含指向下乙個節點的point next 執行初始化前判斷這個鍊錶是否有效 if null head 主要部分 新增節點分兩種情況 新增的是第乙個節點,直接讓頭結點指向現節點即可 需在鍊錶末尾新增節點,這時tail的作用就顯現出來,tail是上次錄入節點後的末尾...

不帶頭節點鍊錶

在本人之前的博文 帶頭節點的鍊錶 宿舍管理系統 中,本人介紹了鍊錶的基本知識點。那麼,在本人資料結構與演算法的專欄的開始,本人就來介紹下不帶頭節點鍊錶 由於本人在講解帶頭節點鍊錶的時候就已經講解過了鍊錶基本的增 刪 改 查 操作,所以,本人在這裡就不對這些重複的知識點進行講解了。本人在本篇博文中主要...