用模板實現鍊錶(類)
鍊錶操作
//標頭檔案 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被作者們用來開發幾種早期的人工智...