1.有窮性使用陣列靜態定義:即儲存空間一旦滿,再加入新的資料將產生溢位。2.確定性
3.可行性
4.輸入和輸出
#define maxsize 50 //定義線性表的最大長度
typedf struct
seqlist; //順序表的定義
使用陣列動態定義:即儲存資料的空間滿時,可以使用realloc申請更大的空間,代替原來的空間。
#define maxsize 100 //表的長度初始定義
typedef struct
sqlist; //動態分配資料順序表的型別定義
c語言動態申請空間:l.data=(elemtype*)malloc(sizeof(elemtype)*initsize)
特點:『
1.順序表是一組位址連續的儲存單元。故表中的元素邏輯順序與物理順序相同。
2.可以隨機儲存,且儲存密度大。
3.缺點是在插入和刪除需要移動大量元素。
bool listinsert(sqlist &l, int i, elemtype e)
此時插入的平均時間複雜度是o(n)。
bool listdele(sqlist &l, int i, elemtype &e)
{ //刪除順序表l中的第i個位置,並用e作為返還值
if(i<1 || i > l.length +1) //判斷i的位置是否有效
return false;
e = l.data[i-1];
for(int j=i; j此時刪除的平均時間複雜度是o(n)。
資料結構線性表的概念
線性表的儲存方式有順序儲存和鏈式儲存,順序訪問的線性表稱之為順序表,採用隨機訪問,時間複雜度為o 1 鏈式儲存的線性表成為單鏈表 採用非隨機訪問 即順序訪問 時間複雜度為o n 隨機訪問 順序訪問 隨機儲存和順序儲存 隨機訪問 順序訪問 隨機儲存和順序儲存這四個概念是完全不一樣的。隨機訪問並就是隨機...
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 開發等等.呵呵.我們進入正題吧.我在這裡就只實現線性表的連表結構.當然了,這裡實際上包含了好多知識.我希望大家在引用的時候.一定要領悟裡面的一些變...