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...