線性表之順序表

2022-09-12 06:51:17 字數 1666 閱讀 1751

1.定義

線性表:是具有相同資料型別的n(n>=0)個資料元素的有限序列

順序表:用順序儲存的方式實現的線性表

2.順序表的實現可以使用靜態分配和動態配分兩種方式

由於使用靜態分配的方式,所能儲存的資料有限,所以後面實現順序表時使用動態分配方式

3.順序表的實現

標頭檔案:

1

#ifndef _sqlist_h

2#define _sqlist_h34

class

sqlist5;

2122

#endif

原始檔:

1 #include "

sqlist.h

"2 #include 34/*

5*@brief:建構函式 實現順序表的初始化

6*@params: capacity:容量

7*@return:8*/

9 sqlist::sqlist(int

capacity) : m_capacity(capacity)

1014

15/*

16*@brief:析構函式 實現順序表的銷毀操作

17*@params:

18*@return:

19*/

20 sqlist::~sqlist()

2125

26/*

27*@brief:增加記憶體

28*@params:void

29*@return:void

30*/

31void

sqlist::increase_memory()

3242

/*43

*@brief:在指定位置插入乙個資料元素

44*@params: pos:待插入的位置

45data:插入的資料

46*@return: 成功:true

47失敗:false

48*/

49bool sqlist::insert_data(int pos, int

data)

5064

65/*

66*@brief:刪除指定位置的元素

67*@params: pos:待刪除位置

68*@return: 成功:刪除的元素值

69* 失敗:-1

70*/

71int sqlist::delete_data(int

pos)

7283

/*84

*@brief:顯示資料內容 測試使用

85*@params:void

86*@return:void

87*/

88void

sqlist::show()

89

4.順序表的特點:

a.隨機訪問:可以在o(1)的時間複雜度內找到第i個元素

b.儲存密度高,每個節點只儲存資料元素

c.擴充套件容量不方便

d.插入 刪除操作不方便,需要移動大量元素

線性表之順序表

資料結構草草學過,不過沒有認真運用過。雖然知道一些最為基本的抽象型別及一些常用操作,不過叫我把這些基本的演算法寫出來我也 是寫不出來的。因為常說資料結構 演算法是乙個程式設計師最基本的素質,所以這次認真加以複習。在複習的同時我盡量將自己學習的其他的 一些基本知識比如c 中的物件導向思想也引入進來,同...

線性表之順序表

線性表 我們都知道是一種常用的資料結構,也是歷來各種考試的重點。今天抽了一些時間把線性表做了總結。線性表是n個資料元素的乙個有限序列。用公式表示為 l a1,a2,a3,a4,an 因為線性表是乙個有限的序列,所以也如上面公式所示,它的各個元素是相繼排放的。那麼它的每個相連的兩項之間都是有乙個邏輯關...

線性表之順序表

線性表的操作 initlist l 初始化操作,建立乙個空的線性表l。listempty l 判斷線性表是否為空表,空返回true,否則返回false。clearlist l 將線性表清空。getelem l,i,e 將線性表l中的第i個位置元素值返回給e。listdelete l,i,e 刪除線性...