基本資料結構 鍊錶的操作(類)

2021-10-04 06:54:18 字數 1677 閱讀 9400

用模板實現鍊錶(類)

鍊錶操作

//標頭檔案 list.h

#ifndef list_h

#define list_h

#include

using

namespace std;

template

<

class

type

>

class

list

;template

<

class

type

>

class

listnode

;template

<

class

type

>

class

list

;//建立乙個空鍊錶

void

insert

(type)

;//在開頭插入資料

void

show()

;//測試用的,顯示鍊錶

void

delete

(type)

;//刪除

void

invert()

;void

concatenate

(list);

private

: listnode

* first;};

template

<

class

type

>

listnode

::listnode

(type element)

template

<

class

type

>

void list

::insert

(type k)

template

<

class

type

>

void list

::show()

std::cout << endl;

}template

<

class

type

>

void list

::delete

(type k)

if(current)

}template

<

class

type

>

void list

::invert()

first = q;

}template

<

class

type

>

void list

::concatenate

(list b)

//如果第乙個鍊錶為空

if(b.first)

//空迴圈

p->link = b.first;}}

#endif

//測試函式 .cpp

#include

#include

"list.h"

using

namespace std;

intmain()

基本資料結構 鍊錶

鍊錶 鍊錶與陣列的區別是鍊錶中的元素順序是有各物件中的指標決定的,相鄰元素之間在物理記憶體上不一定相鄰。採用鍊錶可以靈活地表示動態集合。鍊錶有單鏈表和雙鏈表及迴圈鍊錶。書中著重介紹了雙鏈表的概念及操作,雙鏈表l的每乙個元素是乙個物件,每個物件包含乙個關鍵字和兩個指標 next和prev。鍊錶的操作包...

基本資料結構 鍊錶

談到鍊錶之前,先說一下線性表。線性表是最基本 最簡單 也是最常用的一種資料結構。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。線性表有兩種儲存方式,一種是順序儲存結構,另一種是鏈式儲存結構。順序儲存結構就是兩個相鄰的元素在記憶體中也是相鄰的...

基本資料結構(2) 鍊錶

鍊錶開發於1955 56,由當時所屬於蘭德公司 英語 rand corporation 的艾倫紐維爾 allen newell 克里夫肖 cliff shaw 和赫伯特西蒙 herbert simon 在他們編寫的資訊處理語言 ipl 中做為原始資料型別所編寫。ipl被作者們用來開發幾種早期的人工智...