基本思想:用一段位址連續的儲存單元一次儲存線性表的資料元素(隨機訪問);
注意事項:c++語言中陣列下標是從0開始的,而線性表中元素序號是從1開始的,也就是說
線性表中第i個元素儲存結構在陣列中下標為i-1的位置。
首先是大體的函式宣告:
const int maxsize=100;//根據實際問題定義具體的大小
template//由於資料型別不同所以定義摸板類
class seqlist
;
建構函式:
(1)當順序表為空時:
seqlist()//僅需將線性表長度置為0即可;
(2)順序表不為空時:
template //有參建構函式其中n為資料的數量,t a為模板陣列,其目的時將陣列中的元素傳入到順序表中
seqlist:: seqlist(t a, int n)
按值查詢:
template int seqlist::locate(t x)
刪除操作:
其基本思想是將表的第i個元素刪除,使長度為n的線性表變成長度為n-1的線性表,且刪除後元素i-1和i+1之間邏輯關係發生了變化並且儲存位置要反映這個變化;
template datatype seqlist::delete(int i)
{ datatype x;
if(length==0) throw"下溢";
if(i<1||i>length) throw"刪除位置錯誤";
x=data[i-1]//取第i個位置的元素
for(int j=i;j必須從第i+1個元素開始(下標為i)直至將最後乙個元素前移為止,並且移動之前要取出被刪除元素。此外還需判斷刪除位置合理性;
不在簡述。。。。
線性表 順序表
1 線性表 線性表是最基本 最簡單 也是最常用的一種資料結構。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。線性表的邏輯結構簡單,便於實現和操作。因此,線性表這種資料結構在實際應用中是廣泛採用的一種資料結構。線性表 list,零個或多個資料...
線性表 順序表
線性結構的特點是 在非空的有限集合中,只有唯一的第乙個元素和唯一的最後乙個元素。第乙個元素沒有直接前驅元素,最後乙個沒有直接的後繼元素。其它元素都有唯一的前驅元素和唯一的後繼元素。要想將線性表在計算機上實現,必須把其邏輯結構轉化為計算機可識別的儲存結構。線性表的儲存結構主要有兩種 順序儲存結構和鏈式...
線性表 順序表
線性表的adt list.h templateclass list 順序表的事先宣告 沒有定義成內嵌的順序表成員函式的實現 alist.h include stdafx.h include list.h define defaultlistsize 255 template class alist ...