線性表是零個或者多個資料元素的有限序列。
特性:
資料元素之間是有順序的.
資料元素個數是有限的.
資料元素的型別必須相同.
數學定義:
線性表是具有相同型別的 n( ≥ 0)個資料元素的有限序列(a0,a1, a2, …, an)
ai是表項,n 是表長度。
性質:
a0為線性表的第乙個元素,只有乙個後繼。
an為線性表的最後乙個元素,只有乙個前驅。
除a0和an外的其它元素ai,既有前驅,又有後繼。
線性表能夠逐項訪問和順序訪問。
線性表的操作:
建立線性表
銷毀線性表
清空線性表
將元素插入線性表
將元素從線性表中刪除
獲取線性表中某個位置的元素
獲取線性表的長度
插入元素演算法:
判斷線性表是否合法
判斷插入位置是否合法
把最後乙個元素到插入位置的元素後移乙個位置
將新元素插入
線性表長度加1
獲取元素操作:
判斷線性表是否合法
判斷位置是否合法
直接通過陣列下標的方式獲取元素
刪除元素演算法:
判斷線性表是否合法
判斷刪除位置是否合法
將元素取出
將刪除位置後的元素分別向前移動乙個位置
線性表長度減1
鍊錶的容量和鍊錶的長度是兩個不同的概念
優點:
無需為線性表中的邏輯關係增加額外的空間。
可以快速的獲取表中合法位置的元素。
缺點:
插入和刪除操作需要移動大量元素。
當線性表長度變化較大的時候,難以確定儲存空間的容量。
線性表的順序儲存 線性表的順序儲存結構
1,本文實現乙個線性表 2,順序儲存定義 1,線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表中的資料元素 2,在 c 中可以用乙個陣列作為介質來儲存資料元素 3,設計思路 1,可以用一維陣列實現順序儲存結構 1,儲存空間 t m array 2,當前長度 int m length...
線性表順序儲存
線性表順序儲存結構的建立 插入結點 刪除結點 就地逆置。include stdio.h include malloc.h typedef struct slist,list void init list 線性表初始化 void insert list s,int p 線性表插入 void delet...
線性表順序儲存
時間複雜度效率 o 1 o logn o n o nlogn o n 2 o n 3 o 2 n o n o n n 線性表順序儲存 線性表 順序儲存 include include define maxsize 1024 typedef int elementtype typedef struct...