線性結構 單鏈表

2021-10-23 12:16:51 字數 2283 閱讀 6175

鍊錶定義

使用結點來儲存資料元素。

鍊錶優缺點:

鍊錶中各資料元素的結點位址則不要求是連續的,因此必須同時儲存元素之間的邏輯關係

鍊錶的插入、刪除操作都比較方便,只需修改指標域的指向即可。

/*

單鏈表*/#include

#include

using

namespace std;

//建立結點

template

<

class

datatype

>

struct node

;template

<

class

datatype

>

class

linklist

;///

/// 建構函式

///

template

<

class

datatype

>

linklist

::linklist()

///

/// 建構函式

///

template

<

class

datatype

>

linklist

::linklist

(datatype arr,

int n)

}///

/// 析構函式

/// 類的析構函式是類的一種特殊的成員函式,它會在每次刪除所建立的物件時執行。

/// 析構函式有助於在跳出程式(比如關閉檔案、釋放記憶體等)前釋放資源。

///

template

<

class

datatype

>

linklist::~

linklist()

}///

/// 獲取資料長度

///

template

<

class

datatype

>

int linklist

::length()

return count;

}///

/// 獲取資料

///

template

<

class

datatype

>

datatype linklist

::get

(int i)

if(p ==

null

)throw

"location"

;else

return p-

>data;

}///

/// 定位資料

///

template

<

class

datatype

>

int linklist

::locate

(datatype x)

return0;

}///

/// 新增/插入資料

///

template

<

class

datatype

>

void linklist

::insert

(int i, datatype x)

if(p ==

null

)throw

"location"

;else

}///

/// 刪除資料

///

template

<

class

datatype

>

datatype linklist

::delete

(int i)

if(p ==

null

|| p-

>next ==

null

)throw

"location"

;else

}///

/// 列印列表元素

///

///

template

<

class

datatype

>

void linklist

::printlist()

}int

main()

線性結構之單鏈表

一.引入 單鏈表是用一組任意的儲存單元存放線性表的元素,這組儲存單元可以連續也可以不連續,甚至可以零散分布在記憶體中的任意位置。為了能正確表示元素之間的邏輯關係,每個儲存單元在儲存資料元素的同時,還必須儲存其後繼元素所在的位址資訊,這個位址資訊成為指標,這兩部分組成了資料元素的儲存映像,成為結點,其...

1 資料結構 線性結構之單鏈表

一 定義 單向鍊錶 單鏈表 時鍊錶的一種,它由節點組成,每個節點都包含下乙個節點的指標。1 定義節點類 定義節點類 struct node 2 定義單鏈錶類class slist 二 實現 單鏈表的實現方式有很多種,常見的有 1 帶頭結點的單鏈表 2 不帶頭結點的單鏈表 3 帶頭節點和尾節點的單鏈表...

資料結構 線性結構 反向輸出單鏈表

要求 有帶頭節點的單鏈表l,編寫演算法實現從尾到頭反向輸出每個結點的值。分析 這裡有一種思路是利用棧,在正向遍歷單鏈表的時候進行入棧,然後遍歷完成之後依次出棧,既可實現反向輸出。既然可以用棧,那麼也可以用遞迴的方式來實現。然而遞迴是利用的棧,實質上是相同的。遞迴的時候,系統需要設立乙個 工作棧 作為...