資料結構與演算法(C ) 線性表

2021-10-02 06:09:43 字數 1164 閱讀 8737

資料元素之間的邏輯關係是線性關係

線性結構是資料元素間約束力最強的一種資料結構:

非空集合中,除第乙個元素無前驅外,集合中每個元素有且只有乙個直接前驅

除最後乙個元素無後繼外,集合中每個元素有且只有乙個直接後繼

(1)利用順序元素的儲存位置表示線性表中相鄰資料元素之間的前後關係,即線性表的邏輯結構與儲存結構一致。

(2)在訪問線性表時,可以快速地計算出如何乙個數 據元素的儲存位址。因此可以粗略的認為,訪問每個元素所花的時間相等

這種儲存元素的方法稱為隨機訪問法

常見的操作有-查詢,刪除,插入 (平均時間複雜度為o(0) 空間複雜度o(1) )

思想:

從表的一端開始,逐個進行記錄的關鍵字和給定值比較。找到,返回該元素的位置序號,未找到,返回0

int

locateelem

(sqlist l,elemtype e)

思想:

1.判斷插入位置i是否合法

2.判斷線性表儲存空間是否滿

3.將第n到第i位的元素向後移動一位,空出第i個位置

4.將要插入的新元素e放到第i個位置

5.表長加1,插入成功返回ok

status listinsert_sq

(sqlist &l,

int i,elemtype e)

思想:

1.判斷刪除位置i是否合法

2.將欲刪除的元素保留在e中

3.將第1+1至n位的元素依次向前移動乙個位置

4.表長減1,刪除成功返回ok

status listdelete sq

(sqlist &l,

int i)

優點

缺點儲存密度大

插入刪除時,需要移動大量元素

可隨機訪問任一元素

浪費儲存空間

/靜態儲存形式,資料元素個數不能自由擴充

資料結構 線性表演算法

1.線性表 線性表是n個具有相同特性的資料元素的有限序列。線性表的主要儲存結構 順序儲存結構 順序表 鏈式儲存結構 鍊錶 2.順序儲存 儲存空間連續,用一組連續的儲存單元依次存放資料元素 即邏輯上相鄰的元素,其物理位置也相鄰。優點 隨機訪問 缺點 插入刪除結點困難 擴充套件不靈活 3.鏈式儲存 儲存...

資料結構與演算法 線性表

概念 一種資料結構,每個結點最多只有乙個前驅結點和乙個後繼結點 類別 順序表 定長 鍊錶 變長 棧 棧頂刪除 彈棧 棧頂插入 壓棧 後進先出 lifo 佇列 隊頭刪除 出隊 隊尾插入 入隊 先進先出 fifo 線性表的抽象資料型別定義 c 1.template2.class list 棧的抽象資料型...

資料結構與演算法 線性表

n維向量 x1,x2,xn 是乙個長度為n的線性表 英文小寫字母表 a,b,c,z 是乙個長度為26的線性表 一年中的四個季節 春,夏,秋,冬 是乙個長度為4的線性表 矩陣是乙個比較複雜的線性表 學生情況登記表是乙個複雜的線性表 由若干資料項組成的資料元素稱為記錄 由多個記錄構成的線性表又稱為檔案 ...