資料結構 線性表 C語言

2021-08-28 08:28:54 字數 2012 閱讀 7490

#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 最壞的情況 如果要插入和...