資料結構 線性表 順序表(C語言實現)

2021-07-11 06:36:36 字數 2268 閱讀 7945

這一系列部落格僅為自己學習記錄只用,不具有太多參考價值,只為了在日後回頭觀望時,溫故而知新,繼續前行。

線性表的基本定義與操作:

#ifndef seqlist_h_include

#define seqlist_h_include

#include

#include

#include

#define seq_init_size 100

#define seq_increment 10

typedef int elemtype;

//順序表的結構體,包括:

//順序表元素型別的指標,指向順序表儲存空間的首位址

//順序表長度

//當前分配給順序表的儲存空間

typedef struct

seqlist;

//順序表,相關運算函式

bool initseqlist(seqlist *l); //initseqlist,初始化

bool newsizeseqlist(seqlist *l); //newsizeseqlist,更新儲存空間

bool isemptyseqlist(const seqlist *l); //isemptyseqlist,是否為空

int lenseqlist(const seqlist *l); //lenseqlist,順序表長度

bool insertseqlist(seqlist *l, int p, const elemtype e);//insertseqlist,插入元素

bool deleteseqlist(seqlist *l, int p); //deleteseqlist,刪除元素

bool elemseqlist(const seqlist *l, int p); //elemseqlist,取元素

bool locatseqlist(const seqlist *l, const elemtype e); //locateseqlist,按值查詢

void outputseqlist(const seqlist *l); //outputseqlist,遍歷輸出

#endif //seqlist_h_include

#include "seqlist.h"

//初始化順序表

bool initseqlist(seqlist *l)

//更新儲存空間

bool newsizeseqlist(seqlist *l)

//判斷是否為空

bool isemptyseqlist(const seqlist *l)

//獲取順序表長度

int lenseqlist(const seqlist *l)

//表尾新增元素

l->length = l->length + 1; //表長加1

return

true;

}//插入元素

bool insertseqlist(seqlist *l, int p, const elemtype e)

else

l->length++;

return

true;

}//刪除元素

bool deleteseqlist(seqlist *l, int p)

l->length--;

return

true;

}//取元素

bool elemseqlist(const seqlist *l, int p)

//按值查詢

bool locatseqlist(const seqlist *l, const elemtype e)

//遍歷輸出

void outputseqlist(const seqlist *l)

int len = l->length;

printf("順序表元素是:\t");

for (int i = 0; i < len; i++)

printf("%d ", l->elem[i]);

printf("\n");

//rewind(stdin);

//getchar();

}

資料結構 線性表 順序表操作 C語言實現

資料結構那本書中目的是為了讓讀者更好的理解思路 include include define maxsize 50 define initlong 100 define true 1 define false 0 typedef int elemtype typedef int bool 靜態結構 ...

資料結構 線性表(C語言實現)

一.線性表 1 定義 是由同一型別的資料元素構成的有序序列的線性結構。2 儲存實現 順序儲存,鏈式儲存 順序儲存的優點 儲存密度大,由於用的是陣列不需要儲存位址。順序儲存的缺點 對順序表插入刪除時需要移動資料元素來實現,影響執行效率 鏈式儲存的優點 對線性表的插入刪除不需要移動資料元素,只需要修改鏈...

資料結構線性表C語言實現

include include define true 1 define false 0 define ok 1 define error 0 define infeasible 1 define overflow 2 define initsize 100 typedef int status t...