1.定義
線性表:是具有相同資料型別的n(n>=0)個資料元素的有限序列
順序表:用順序儲存的方式實現的線性表
2.順序表的實現可以使用靜態分配和動態配分兩種方式
由於使用靜態分配的方式,所能儲存的資料有限,所以後面實現順序表時使用動態分配方式
3.順序表的實現
標頭檔案:
1原始檔:#ifndef _sqlist_h
2#define _sqlist_h34
class
sqlist5;
2122
#endif
1 #include "4.順序表的特點: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
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 刪除線性...