順序表與鍊錶

2021-10-01 14:43:51 字數 721 閱讀 3575

它是n個具有相同特性的資料元素的有限序列。 線性表是一種在實際中廣泛使用的資料結構,常見的線性表:順序表、鍊錶、棧、佇列、字串…

邏輯上連續,物理上不一定連續

儲存方式:通常是陣列或者鏈式結構

順序表是用一段實體地址連續的儲存單元依次儲存資料元素的線性結構,一般情況下採用陣列儲存。在陣列上完成資料的增刪查改。

順序表一般可以分為:

靜態順序表:使用定長陣列儲存。

動態順序表:使用動態開闢的陣列儲存。

存在的問題:

1.中間/頭部的插入刪除,時間複雜度是o(n)

2.增容需要申請新的空間,拷貝資料,釋放舊空間

3.增容若以二倍增容會浪費空間。

鍊錶是一種物理儲存結構上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的 。

1.單向、雙向

2.帶頭、不帶頭

3.迴圈、非迴圈

共可產生八種鍊錶結構。

順序表:

優點:空間連續、支援隨機訪問

缺點:中間或者頭部插入刪除時間複雜度是o(n)。增容代價大。

鍊錶:優點:任意位置插入刪除時間複雜度是o(1)。無需考慮增容問題。

缺點:以節點為單位儲存,不支援隨機訪問。

順序表與鍊錶

單向鍊錶 雙向鍊錶 迴圈鍊錶 插入刪除過程要注意,初始指標應指向鍊錶尾節點 若當插入到頭前時,找不到前驅節點 當在更新尾節點時需要更新頭指標 鍊錶排序使用氣泡排序最為適合 資料結構 結構定義 結構操作 include include include include define malloc2 my...

順序表與鍊錶( )

鍊錶連續的儲存空間儲存任意元素。12 345結構定義 1 size 9 2 length 5 3 data type include include typedef struct vector vector void init vector vector,int size void clear ve...

順序表與鍊錶

順序表 1.實現 順序表的實現 typedef struct lnode list struct lnode list ptrl 2.建立空的順序表 建立空順序表 list buildlist 3.查詢元素 查詢元素 intfind elementtype e,list ptrl 4.插入元素 插入...