線性表的順序儲存結構及實現

2021-10-10 16:58:31 字數 1137 閱讀 2114

線性表是最基本、最簡單、也是最常用的一種資料結構。

線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的(注意,這句話只適用大部分線性表,而不是全部。比如,迴圈鍊錶邏輯層次上也是一種線性表(儲存層次上屬於鏈式儲存),但是把最後乙個資料元素的尾指標指向了首位結點)。

1 :線性表的順序儲存稱為順序表(sequential list),其基本思zhunc想是用一段位址連續儲存單元的存循單元依次儲存線性表的資料元素,則第,如圖1所示。設順序表的每個元素占用c個儲存單位,則第i個元素儲存位址為:

圖1  順序表中元素ai的儲存位址
2: 容易看出,順序表中資料元素的儲存位址是其序號的線性函式,只要確定了儲存順序表的的起始地(即基位址),計算任意乙個元素的儲存位址的時間是相等的,具有這一特點儲存結構稱為隨機訪問結構。

1: 通常用一維陣列來實現順序表,也就是把線性表中相鄰的元素儲存在陣列中相鄰的位置,從而導致了資料元素的序號和在放它的陣列下標之間具有一一對應關係,如圖2所示。需要強調的是,c語言中陣列的下標是從0開始的,而線性表中元素的序號是從1開始的,也就是說,線性表中第i個元素儲存在陣列中下標為i-1的位置.

圖2  陣列的長度和線性表的長度具有不同含義
下面給出順序表的儲存結構定義:

#define maxsize 100    

//假設順序表最多存放100個元素

typedef

int datarype;

//定義線性表的資料型別,假設為int型

typedef

struct

seqlist;

//順序表型別

線性表的順序儲存 線性表的順序儲存結構

1,本文實現乙個線性表 2,順序儲存定義 1,線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表中的資料元素 2,在 c 中可以用乙個陣列作為介質來儲存資料元素 3,設計思路 1,可以用一維陣列實現順序儲存結構 1,儲存空間 t m array 2,當前長度 int m length...

線性表 線性表的順序儲存結構

線性表的順序儲存結構 線性結構是乙個資料元素的有序 次序 集。集合中必存在唯一的乙個 第一元素 集合中必存在唯一的乙個 最後元素 除最後元素外,均有唯一的後繼 除第一元素外,均有唯一的前驅。adt list 資料關係 r1 adt list 容易混的概念 引用符號 和引用型操作沒有關係 加工型操作 ...

線性表 線性表的順序儲存結構

include include using namespace std define ok 1 define error 0 define list init size 100 define listincrement 10 typedef int status typedef int elemty...