線性表的順序儲存

2021-05-28 15:42:26 字數 1439 閱讀 1942

1、線性表的順序儲存,用如下結構來表示
//  list.h 線性表的動態分配順序儲存結構

#define list_init_size 10 // 線性表儲存空間的初始分配量

#define list_increment 2 // 線性表儲存空間的分配增量

typedef struct

sqlist;

/

2、相關函式實現

/
相關的操作函式
#include #include #include //realloc函式

#include "list.h"

///初始化乙個線性表

void initlist(sqlist *l)

//輸出建立鍊錶後的相關資訊

void print_list(sqlist *l)

//返回線性鍊錶的長度

int getlength(sqlist *l)

//在第i個位置之前插入新元素e(位置從1開始,1,2,3.....)

void insertlist(sqlist *l,int i,elemtype e)

//檢查分配的空間是否夠用

if(l->length >= l->listsize)

q=l->elem+i-1;

for( p=l->elem+l->length-1 ; p>=q ; p-- )

*q=e;

++l->length;

}//刪除乙個元素

int deletelist(sqlist *l,int i,elemtype *e)

//給定乙個元素,找到它的直接前驅

elemtype priorelem(sqlist *l,elemtype cur_e,elemtype *prior_e)

// while( (*p!=cur_e) && (p<=q) )

if(p>q)

else

prior_e=--p;//prior指向cur_e的前驅

//返回前驅

return *prior_e;

}//給定乙個元素,找到它的後繼

elemtype nextelem(sqlist *l,elemtype cur_e,elemtype *next_e)

//找後繼

while( (*q!=cur_e) && (q>=p) )

if(qlength;

for(i=0;ielem+i));

}

3、主函式

typedef int elemtype;

#include"functions.h"

int main()

線性表的順序儲存 線性表的順序儲存結構

1,本文實現乙個線性表 2,順序儲存定義 1,線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表中的資料元素 2,在 c 中可以用乙個陣列作為介質來儲存資料元素 3,設計思路 1,可以用一維陣列實現順序儲存結構 1,儲存空間 t m array 2,當前長度 int m length...

線性表順序儲存

線性表順序儲存結構的建立 插入結點 刪除結點 就地逆置。include stdio.h include malloc.h typedef struct slist,list void init list 線性表初始化 void insert list s,int p 線性表插入 void delet...

線性表順序儲存

時間複雜度效率 o 1 o logn o n o nlogn o n 2 o n 3 o 2 n o n o n n 線性表順序儲存 線性表 順序儲存 include include define maxsize 1024 typedef int elementtype typedef struct...