1,線性表的定義
線性表是具有相同特性資料元素的乙個有限序列。
2,線性表的儲存結構(相當重要)
線性表的儲存結構有順序儲存結構和鏈式儲存結構兩種。前者稱為順序表,後者成為鍊錶。
(1)順序表
順序表就是把線性表中的所有元素按照其邏輯順序,依次儲存到從指定的儲存位置開始的一塊連續儲存空間中。
(2)鍊錶
在鍊錶儲存中,每個節點不僅包含所存元素的資訊,還包含元素間邏輯關係的資訊,如單鏈表中前驅結點包含後驅節點的位址資訊。
兩種儲存結構比較(書上的圖很形象):
順序表具有隨機訪問特性並且占用連續的儲存空間,順序表插入操作時要移動多個元素
鍊錶支援儲存空間的動態分配,鍊錶中插入操作無須移動元素
鍊錶的分類
(1)單鏈表
在每個節點中除了包含資料域外,還包含乙個指標域,用以指向其後繼節點。
帶頭節點和不帶頭節點最明顯的區別是,帶頭節點的單鏈表中有乙個節點不儲存資訊。
注意:帶頭節點和不帶頭節點的鍊錶,頭指標都指向鍊錶中的第乙個節點。
(2)雙鏈表
雙鏈表就是在單鏈表的節點上增添了乙個指標域,指向當前節點的前驅,這樣就可以方便的由其後繼來找到其前驅
(3)迴圈單鏈表
只要將單鏈表的最後乙個指標域指向鍊錶中的第乙個節點即可
(4)迴圈雙鏈表
同上(5)靜態鍊錶
3,線性表的結構定義和基本操作
1,順序表的結構體定義
typedef stuctsqllist //順序表型別的定義
2,單鏈表結點定義
typedef struct lnode
lnode; //定義單鏈表節點型別
3,雙鏈表結點定義
typedef struct dlnode
dlnode ; //定義雙鏈表節點型別
mysql 線性表 資料結構之線性表
概要 參考 大話資料結構 把常用的基本資料結構梳理一下。線性表定義 線性表 list 零個或多個資料元素的有限序列。若將線性表記為 a 1,cdots,a a i,a cdots,a n 則表中 a 領先於 a i a i 領先於 a 稱 a 是 a i 的直接前驅元素,a 是 a i 的直接後繼元...
資料結構之線性表
從現在開始,我們開始討論如何實現一些常用的資料結構和其中的一些經典演算法.等把資料結構講完了.我可能會繼續討論vc 的程式設計只是以及vs平台下的c c 開發等等.呵呵.我們進入正題吧.我在這裡就只實現線性表的連表結構.當然了,這裡實際上包含了好多知識.我希望大家在引用的時候.一定要領悟裡面的一些變...
資料結構之線性表
線性表是具有相同特性的資料元素的乙個有限序列。該序列中所含元素的個數叫做線性表的長度,用n表示,n 0。當n 0時,表示線性表是乙個空表,即表中不包含任何元素。設序列中第i i表示位序 個元素為ai 1 i n 線性表的一般表示為 a1,a2,ai,ai 1,an include include d...