第二章 1 線性表 線性表的順序表示及實現

2022-08-26 17:27:11 字數 1344 閱讀 5164

線性結構的特點是在資料的非空有限集中:

1)存在唯一乙個被稱為「第乙個」的資料元素

2)存在唯一乙個被稱為「最後乙個」的資料元素

3)除了第乙個元素之外,集合中每個資料元素均只有乙個前驅

4)除最後乙個元素外,集合中每個資料元素均只有乙個後繼

1.線性表的型別定義

2.線性表的順序表示和實現

1.線性表的型別定義

線性表(linear_list)是最常用且最簡單的一種資料結構。簡言之,乙個線性表是n個資料元素的有限序列。至於每個資料元素可以是乙個數,乙個符號,也可以是一頁書,甚至更複雜的資訊。

字元表:(a,b,c,d......z)是乙個線性表

在稍複雜的線性表中 ,乙個資料元素可以由若干資料項(item)組成。在這種情況下,常把資料元素稱為記錄(record),含有大量記錄的線性表又稱檔案。

例如,乙個學校學生健康情況登記表,表中每個學生的情況為乙個記錄,它由姓名、學號、性別、年齡、健康狀況等資料項組成。

綜上所述,線性表中的資料元素各式各樣,但同一線性表中的元素必定具有相同的特性,即同屬乙個資料物件,相鄰資料元素之間存在著序偶關係。

若將線性表記為:

(a1, a2, .....ai.....,an)

線性表是乙個相當靈活的資料結構,它的長度可根據需要增長或縮短,即對線性表的資料元素不僅可以進行訪問,還可進行插入和刪除等。

2.線性表的順序表示和實現

線性表的順序表示是指用一組位址連續的儲存單元依次儲存線性表的資料元素。

若每個元素占用l個儲存單元,線性表的第i個元素ai 的儲存位置

loc(ai)=loc(a1)+(i-1)*l

線性表的第乙個元素的位置 loc(a1)為線性表的起始位址 或 基位址。

線性表的插入和刪除:

如下圖2.3:在第5個位置插入乙個元素,那麼原表中的5-8個位置的元素都要往後移動

如下圖2.4:在第4個位置處刪除元素,那麼原來表中的5-8個位置的元素都要往前移動

順序表的**實現:

執行結果:

3.總結:

線性表順序儲存結構的特點,是邏輯上相鄰的元素在物理位置上也是相鄰的,因此可以隨機的訪問任何乙個元素。

然而,另一方面,這個特點也鑄成了其弱點:在做插入或 刪除操作時需要移動大量元素。

第二章 線性表 順序表

資料元素的位址計算公式 l ai l a1 i 1 c c為乙個資料元素所佔的儲存量。順序表結構圖。順序表的靜態儲存結構。define maxsize 80 typedef structsqlisttp 靜態線性表的初始化 status initlist sqlisttp l 靜態順序表上實現插入操...

第二章線性表(1)

const int maxsize 100 template class t class seqlist 析構函式為空 int length 求線性表的長度 t get int i 按位查詢,取線性表的第 i 個元素 int locate t x 按值查詢,求線性表中值為 x 的元素序號 void ...

第二章 線性表

定義 線性表簡稱表,是n n 0 個具有相同型別的資料元素的有限序列,線性表中資料元素的個數稱為線性表的長度。長度等於0時稱空表,乙個非空表通常記作 l a1,a2,an 線性表的性質 1.有限性 元素個數有限 2.相同性 元素型別相同 3.順序性 除首位元素外,相鄰元素都有前驅和後繼 2.1.2線...