#include#include#define init_size 100//初始長度
#define listincrement//增量
#define elemtype int
#define error 0
#define ok 1
typedef structsqlist;
//構造空表
int initlist_sq(sqlist &l)
l.length=0;
l.listsize=init_size;
return ok;
}//插入元素
int insert_sq(sqlist &l,int i,elemtype e)//第i個位置插入e
if(l.length>=l.listsize)//當前儲存空間已滿,增加分配
//插入位置後的元素後移乙個單位
int *p,*q;
q=&l.elem[i-1]; //第i個元素的儲存位置為l.elem[i-1]
for(p=&l.elem[l.length-1];p>q;p--) *(p+1)=*p;
*q=e;//插入e
l.length+=1;//表長加一
return ok;
} //刪除元素,並返回
int listdelete_sq(sqlist &l,int i)
int *q,*p;
p=&l.elem[i-1];
for(q=&l.elem[l.length-1];p執行結果:
2 線性表之順序表
線性表是某類元素的乙個集合,還記錄著元素之間的一種順序關係。順序表 將元素順序地存放在一塊連續的儲存區里,元素間的順序關係由它們的儲存順序自然表示。順序表的資料元素本身連續儲存,每個元素所佔的儲存單元大小固定相同,元素的下標是其邏輯位址,而元素儲存的實體地址 實際記憶體位址 可以通過儲存區的起始位址...
線性表 順序表
1 線性表 線性表是最基本 最簡單 也是最常用的一種資料結構。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。線性表的邏輯結構簡單,便於實現和操作。因此,線性表這種資料結構在實際應用中是廣泛採用的一種資料結構。線性表 list,零個或多個資料...
線性表 順序表
線性結構的特點是 在非空的有限集合中,只有唯一的第乙個元素和唯一的最後乙個元素。第乙個元素沒有直接前驅元素,最後乙個沒有直接的後繼元素。其它元素都有唯一的前驅元素和唯一的後繼元素。要想將線性表在計算機上實現,必須把其邏輯結構轉化為計算機可識別的儲存結構。線性表的儲存結構主要有兩種 順序儲存結構和鏈式...