使用陣列構建線性表的順序表資料結構

2021-07-23 10:42:15 字數 1114 閱讀 3059

大家都知道棧和佇列資料結構,其實他們是特殊的線性表結構,只能在頭結點出進行操作,而不能做插入和按序號刪除這樣的操作。

線性表結構則顯得更為的靈活多了,用來儲存一類同型別的資料顯得非常的適用,同樣的,他也有兩種構建的方式,這一篇給大家帶來的是靜態的陣列儲存方式,用在小型的資料管理上非常便利,下面是構建的**,讀者可以細心閱讀注釋部分,後一篇會使用動態鍊錶結構來構建這樣乙個線性表結構:

//超超

//2016 10 6

#include

using namespace std;

typedef int elementtype;

enum error_code;

const int  maxlen=15;

/*要構建乙個線性表:

要知道他應該有什麼基本的運算:

1.求表長度

2.按序號取元素

3.按值查詢

4.插入元素

5.刪除元素

*/class list;

list::list()

int list::length() const

//按序號取元素,注意取陣列下標即可找到資料

error_code list::get_element(const int i,elementtype &x)

//按值查詢需要逐個和鍊錶的資料進行比較,因為可能會有結點相同的值,所以必須全鍊錶遍歷

int list::locate(const elementtype x)const

if(j>0)

return 1;//表示能查到該值所對應的下標

}else return -1;//表示按值查詢沒有找到該值所對應的下標

}//插入運算,注意插入運算會改動後面元素的下邊,所以要往後移動元素

error_code list::insert(const int i,const elementtype x)

//按下標做刪除操作其實就是插入運算的逆運算

error_code list::delete_element(const int i) 

void list::write()    

}void list::read()

相信讀者看完這一大段**後,會有很好的收穫。

C 線性表之順序表的構建

一 該順序表下標從一開始,具有增刪查等操作 實現如下 includeusing namespace std const int maxsize 100 class sqlist int locateelem int x 查詢元素位置 int insert int x 在順序表最後插入元素 int i...

線性表之陣列順序表

ifndef seqlist h define seqlist h include include include define seqlist init size 8 define inc size 3 typedef int elemtype typedef struct seqlist seq...

順序表 線性表 陣列的區別

陣列就是相同資料型別的元素按一定順序排列的集合。一句話 就是物理上儲存在一組聯絡的位址上。也稱為資料結構中的物理結構。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。一句話 線性表是資料結構中的邏輯結構。可以儲存在陣列上,也可以儲存在鍊錶上。...