#include #include #define maxsize 20
#define elemtype int
typedef struct
sqlist; //順序表型別
void createlist(sqlist * &l, elemtype a, int n) //由a中的n個元素建立順序表
l -> length = k; //設定l的長度
}void initlist(sqlist * &l) //初始化線性表
void destorylist(sqlist * & l) //銷毀線性表
bool listempty(sqlist * l) //判斷線性表是否為空表
int listlength(sqlist * l) //求線性表的長度
void displist(sqlist * l) //輸出線性表
bool getelem(sqlist * l, int i, elemtype &e) //求線性表中某個資料元素值 將第i個元素賦值給e
int locateelem(sqlist * l, elemtype e) //按元素值查詢
bool listinsert(sqlist * &l, int i, elemtype e) //插入資料元素
bool listdelete(sqlist * &l, int i, elemtype &e) //刪除資料元素
int main()
; int *p = a;
initlist((sqlist * &)p); //初始化線性表
createlist((sqlist * &)p,a,n); //建立線性表
displist((sqlist *)p); //輸出線性表
bool listempty = listempty((sqlist *)p); //判斷是否是空表,0代表不是空表,1代表是空表
printf("%d\n",listempty);
int listlength = listlength((sqlist *)p); //返回線性表的長度
printf("%d\n",listlength);
int elem; //求線性表中某個元素值
getelem((sqlist *)p,5,elem);
printf("%d\n",elem);
int e = 6,locate; //按元素查詢其邏輯序號
locate = locateelem((sqlist *)p,e);
printf("%d\n",locate);
listinsert((sqlist * &)p,5,20); //插入資料元素
displist((sqlist *)p);
int deleteelem; //刪除線性表中的元素
listdelete((sqlist * &)p,5,deleteelem);
printf("%d\n",deleteelem);
destorylist((sqlist * &)p); //銷毀線性表
return 0;
}
C語言資料結構 線性表
今天又是活力滿滿的一天!加油呀!今天開始學習線性表啦!一 何為線性表?線性表就像我們買票排隊一樣,具有線一樣性質的結構。線性表的官方定義 由零個或多個資料元素組成的有限序列。二 線性表的特點 元素之間有先來後到,具有一定的順序。若元素存在多個,會牽扯到前驅後繼的概念 則第乙個元素無前驅,最後乙個元素...
資料結構 C語言線性表操作
插入 修改 刪除 查詢 include stdio.h include malloc.h 表的結構 typedef struct seqlist 建立表 void creatseqlist seqlist l 列印出表 void showseqlist seqlist l 在表中插入元素 void ...
C語言資料結構線性表(2)
首先通過一段 回顧一下前天學習的知識吧!該 表示的是從線性表的順序儲存結構中刪除乙個元素。線性表的插入元素和刪除元素同通過 實現了,現在分析一下插入和刪除的時間複雜度 最好的情況 插入和刪除操作剛好要求在最後乙個位置操作,因為不需要移動任何元素,所以此時的時間複雜度為o 1 最壞的情況 如果要插入和...