資料結構 單鏈表的實現

2021-09-29 09:35:19 字數 2039 閱讀 1214

定義單鏈錶類,建立帶頭結點的單鏈表(節點型別為整型資料),要求包含以下成員函式:

頭插法建立單鏈表(利用建構函式實現)

尾插法建立單鏈表(過載建構函式實現)

鍊錶的遍歷

按值刪除乙個節點

按位置刪除乙個節點

鍊錶的析構

輸入一組資料,以尾插法的形式建立單鏈表(0表示輸入結束)(構造第乙個鍊錶)

輸入一組資料,以頭插法的形式建立單鏈表(0表示輸入結束)(構造第二個鍊錶)

輸入要刪除元素的值(在尾插法建立的鍊錶中進行改操作)

輸入要刪除元素的位置(在尾插法建立的鍊錶中進行改操作)

輸出尾插法建立鍊錶的結果

輸出頭插法插法建立鍊錶的結果

輸出按值刪除之後鍊錶中剩餘的元素(若刪除的元素不存在,輸出error)

輸出按位置刪除之後鍊錶中剩餘的元素(若刪除的元素不存在,輸出error

#include

using

namespace std;

template

<

class

t>

struct node

;//頭插法建立單鏈表(利用建構函式實現)

//尾插法建立單鏈表(過載建構函式實現)

//鍊錶的遍歷

//按值刪除乙個節點

//按位置刪除乙個節點

//鍊錶的析構

template

<

class

t>

class

list

;template

<

class

t>

list

::list()

template

<

class

t>

list

::list

(t a,

int n)

}template

<

class

t>

list

::list

(t a,

int n,

int weicha)

r->next=

null

; l=n;

}template

<

class

t>

void list

::print ()}

template

<

class

t>

t list

::zhi

(int x)

if(p==

null

||p-

>next==

null

) cout<<

"error"

;else

q=p-

>next;

p->next=q-

>next;

delete q;

print()

;}}template

<

class

t>

t list

::weizhi

(int x)

if(x<=

0||p==

null

) cout<<

"error"

;else

}int

main()

list <

int>

a(a1,i,1)

; a.

print()

; cout

while

(cin>>t&&t)

list <

int>

b(a2,i)

; b.

print()

; cout>x;

a.zhi(x)

; cout

cin>>y;

a.weizhi

(y);

}

資料結構 單鏈表實現

線性表的鏈式儲存結構的特點是用一組任意的儲存單元儲存線性表的資料元素 這組儲存單元可以是連續的,也可以是不連續的 因此,為了表示每個資料元素與其直接後繼資料元素之間的邏輯關係,對資料元素來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後繼的資訊 即直接後繼的儲存位置 這兩部分資訊組成資料元素的...

資料結構 單鏈表實現

在鏈式儲存中,節點之間的儲存單元位址可能是不連續的。鏈式儲存中每個結點都包含兩部分 儲存元素本身的資料域和儲存結點位址的指標域。結點中的指標指向的是下乙個結點,也就是儲存的下乙個結點的位址。1.建立鍊錶 在建立鍊錶時,頭結點不儲存資料,但可以儲存鍊錶的資訊。struct header 儲存資料的結點...

資料結構 單鏈表實現

package list public class singlelinkedlist private class node public node object data 頭插法 public void headinsert object data 尾插法 public void tailinser...