C語言實現順序表

2021-08-08 18:42:08 字數 2506 閱讀 7182

順序表是在計算機記憶體中以陣列的形式儲存的線性表,是指用一組位址連續的儲存單元依次儲存資料元素的線性結構。線性表採用順序儲存的方式儲存就稱之為順序表。順序表是將表中的結點依次存放在計算機記憶體中一組位址連續的儲存單元中。這裡我用c語言實現了一下順序表的具體操作。其中用了一些c++的小語法。所以有可能不能直接建立.c檔案然後執行,需要建.cpp檔案。

#include

#include

#include

#define maxsize 20//儲存空間的初始分配量

typedef

int elemtype;//線性表中元素的具體型別

typedef

structsqlist;

//void initlist(sqlist *l);//初始化操作建立乙個空的線性表l

bool listempty(sqlist l);//若線性表為空返回true,否則返回false

void clearlist(sqlist *l);//將線性表清空

bool getelem(sqlist l,int i,elemtype *e);//將線性表第i個元素返回給e,獲取成功返回true,失敗返回false

bool listdelete(sqlist *l,int i,elemtype *e);//刪除線性表l中的第i個位置的元素,並用e返回其值

int listlength(sqlist l);//返回線性表l的元素的個數

void show(sqlist l);//顯示所有在順序表中的元素

/*初始化操作

void initlist(sqlist *l)

*//*判斷線性表是否為空*/

bool listempty(sqlist l)

return

false;

}/*將線性表清空*/

void clearlist(sqlist *l)

/*獲取指定位置元素值 getelem

l:線性表

i:指定位置的座標

e:儲存元素的物件

*/bool getelem(sqlist l,int i,elemtype *e)

*e = l.data[i - 1];

return

true;

}int locateelem(sqlist l,elemtype e)

}return0;}

/*在指定位置插入指定元素*/

bool listinsert(sqlist *l,int i,elemtype e)

if(i != l->length+1)

}l->data[i-1] = e;

l->length++;

return

true;

}/*刪除指定位置元素*/

bool listdelete(sqlist *l,int i,elemtype *e)

*e = l->data[i - 1];

if(i < l->length)

}l->length--;

return

true;

}/*返回線性表的個數*/

int listlength(sqlist l)

/*返回所有在資料表中的元素*/

void show(sqlist l)

}}int main()else

break;

case

2: clearlist(l);

printf("清空線性表成功\n");

break;

case

3: printf("輸入要查詢的元素的位置:");

scanf("%d",&i);

if(getelem(*l,i,&e))else

break;

case

4: printf("請輸入你要查詢元素的值:");

scanf("%d",&e);

i = locateelem(*l,e);

if(i!=0)else

break;

case

5: printf("請輸入你要插入的元素的值:");

scanf("%d",&e);

printf("請輸入你要插入的位置:");

scanf("%d",&i);

if(listinsert(l,i,e))else

break;

case

6: printf("請輸入你要刪除的值的位置:");

scanf("%d",&i);

if(listdelete(l,i,&e))else

break;

case

7: printf("陣列的長度為%d\n",listlength(*l));

break;

case

8: show(*l);

printf("\n");

break;}};

}

C語言實現順序表

標頭檔案部分 include include include typedef int datatype define maxsize 10 typedef struct seqlist seqlist 列印順序表的內容 void printseqlist seqlist seq 初始化順序表 voi...

C語言實現順序表

使用c語言實現順序表 順序表的主要功能有 1 初始化順序表 2 順序表的頭插 3 順序表的尾插 4 順序表的頭刪 5 順序表的尾刪 6 順序表的任意點插入 7 順序表的查詢刪除 8 順序表的排序 9 清空順序表 10 列印順序表 具體 實現如下 seqlist.h include include i...

C語言實現順序表

最近複習了一下資料結構對順序表進行一下複習!include 函式結果狀態 define true 1 define false 0 define ok 1 define error 0 define overflow 2 status 是函式的型別,其值是函式結果狀態 typedef int sta...