不帶頭結點的單鏈表構造

2021-09-29 18:05:15 字數 2653 閱讀 5582

不帶頭結點的單鏈表的構造

頭插法

template

<

class

t>

linklist

::linklist

(t a,

int n,string s)

}

尾插法:

template

<

class

t>

linklist

::linklist

(t a,

int n,

int w,string s)

}

#include

using

namespace std;

template

<

typename t>

struct node//結點

;template

<

class

t>

class

linklist

linklist

(t a,

int n)

;//根據陣列a和元素個數n構件非空單鏈表(利用頭插法)

linklist

(t a,

int n,

int w)

;//根據陣列a和元素個數n構建非空單鏈表(利用尾插法)

~linklist()

;//析構函式

void

printlist()

;//輸出所有的元素值

void

insert

(int i, t x)

;//根據位置i插入資料x

t deletez

(int i)

;//根據值i刪除i所在的結點

t deletew

(int m)

;//根據位置m刪除m位置處的結點

private

: node

*first;

//頭指標,指向頭結點};

template

<

class

t>

linklist

::linklist

(t a,

int n)

}template

<

class

t>

linklist

::linklist

(t a,

int n,

int w)

r->next=

null;}

template

<

class

t>

void linklist

::printlist()

cout<}template

<

class

t>

void linklist

::insert

(int i, t x)if(

!p)

cout<<

"位置"

}template

<

class

t>

t linklist

::deletez

(int i)

p=q;

q=q-

>next;}if

(a==0)

cout<<

"error"

<}template

<

class

t>

t linklist

::deletew

(int i)

if(p==

null

||p-

>next==

null

) cout<<

"error"

template

<

class

t>

linklist::~

linklist()

}int

main()

while

(cin>>s)

int y;

cin>>y;

int z;

cin>>z;

linklist<

int>

list1

(a,n,0)

;//尾插法構建

list1.

printlist()

;//遍歷輸出

linklist<

int>

list2

(b,m)

;//頭插法構建

list2.

printlist()

;//遍歷輸出

list1.

deletez

(y);

//按值刪除

list1.

deletew

(z);

//按位刪除

list1.

~linklist()

;//析構

list2.

~linklist()

;//析構

return0;

}

不帶頭結點的單鏈表

slist.h pragma once typedef int sldatatype typedef struct slistnode slistnode 不帶頭節點的單鏈表 鍊錶初始化 void slistinit slistnode phead 建立新結點 slistnode slistnewn...

不帶頭結點的單鏈表

不帶頭結點的鍊錶的實現 核心是直接設定頭指標指向第乙個節點 要注意此時的l的位址可能會發生改變.同時還要注意一級指標和二級指標的區別.注意linklist l和linklist l的區別 和帶結點的單鏈表的操作相比較,要考慮到頭指標就是頭結點,在一些會改變頭結點的情況下要仔細考慮.include i...

不帶頭結點的單鏈表

單鏈表也可以不設頭結點,如圖212 所示。顯 然,基於這種結構的基本操作和帶有頭結點的線性鏈 表基本操作是不同的。bo2 8.cpp 是不帶頭結點的線 性鍊錶的基本操作。bo2 8.cpp 不帶頭結點的單鏈表 儲存結構由c2 2.h定義 的部分基本操作 9個 define destroylist c...