#define ok 1#define error 0
#define overflow -2
#define list_init_size 100 //
線性表儲存空間的初始分配量
#define list_increment 10 //
線性表儲存空間的分配增量
#include
#include
#include
typedef
struct
sqlist;
//申請結構體變數sqlist ,sqlist作為型別可以宣告新的結構體變數,如:sqlist l,m[34],*n; //
初始化 (構造空的線性表)
initlist_sq(sqlist &l)
struct getelem_sq(sqlist&l,int i, int &e)
e=l.elem[i-1]; //
逐個查詢元素
printf("
查詢的元素為:%d\n\n
",e);
return
ok;};
//在i位置插入元素
listinsert_sq(sqlist&l,int i,int
e)
if(l.length>=l.listsize)
q=&l.elem[i-1]; //
e元素在i處插入
for(p=&(l.elem[l.length-1]);p>=q;--p) //
元素值整體後移
*(p+1)=*p;
*q=e; //
插入e元素
++l.length; //
表長加一
return
ok;}
listdelete_sq(sqlist&l,int i,int &e)
p=&(l.elem[i-1]); //
p為被刪除的元素
e=*p;
printf(
"刪除值為:%d\n\n
",e);
q=l.elem+l.length-1; //
表長減一
for(++p;p<=q;p++) //
刪除元素後 後繼元素整體前移
*(p-1)=*p;
--l.length;
return
ok;}
int creatnewlist(sqlist &l) //
建立列表
printf(
"請輸入%d個資料:\n
",n);
if(n>list_init_size)
for(i=0;i//
將元素逐一寫入列表
//printf("-----------\n");
scanf("
%d",l.elem+i);
l.length=n;
return
ok;}
//逐一列印列表中的元素
int pr(sqlist &l)
else
}return
ok;}
void clearlist(sqlist &l)
void operatemenu()
void
main()
operatemenu();
scanf("%d
",&k);}}
else
}
C 資料結構 順序表
迴圈後面加 是個好行為,不然很容易犯低階錯誤 導致乙個變數的位置放錯了,看了很久沒看出bug 順序表 include includeusing namespace std const int maxsize 25 typedef struct seqlist int main cout endl r...
C 資料結構 順序表
順序表,顧名思義儲存在計算機指定記憶體區域的一塊連續的儲存結構,跟我們一起排隊做廣播體操的那種方式 儲存物理結構 物理記憶體空間上是連續的 儲存邏輯關係 儲存值之間的關係為一對一 使用場景 一般訪問資料量比較大,新增和刪除操作不頻繁的資料 那麼我們這裡實現的語言是用的c 對於線性表的一些特性我們這裡...
C資料結構 順序表
1.定義動態順序表 typedef struct seqlist seqlist 2.順序表基礎功能實現 初始化 void init seqlist p,int capacity 摧毀 void destory seqlist p 擴容 void checkcapacity seqlist p in...