嚴蔚敏版資料結構順序表部分,演算法 2.3-2.7 對演算法的函式實現(已封裝):
#include
#include
#include
#include
#include
#include
/*一些常用的巨集定義*/
#define list_init_size 100
//順序表初始長度
#define listincrease 10
//順序表增加長度
typedef
int status;
//int 型別的重新命名
/*順序表*/
typedef
struct
sqlist;
/*演算法2.3 構造空線性表*/
status initlist_sq
(sqlist &l)
/*演算法2.4 順序表l第i個位置插入e*/
status listinsert_sq
(sqlist &l,
int i,
int e)
int*q=
&(l.elem[i-1]
);for(
int*p=
&l.elem[l.length-1]
;p>=q;
--p)
*(p+1)
=*q;
*q=e;
++l.length;
return1;
}/*演算法2.5 刪除順序表 l 的第i個元素,並用e記錄其值*/
status listdelete_sq
(sqlist&l,
int i,
int&e)
/*演算法2.6 找到順序表 l 中第乙個與 e 滿足 func 函式關係的元素,並返回其位序*/
intlocateelem_sq
(sqlist l,
int e,
status
(*func)
(int
,int))
/*演算法2.7 合併順序表,並將元素按從小到大排序*/
void
mergelist_sq
(sqlist la,sqlist lb,sqlist &lc)
while
(pa<=pa_last)
*pc++
=*pa++
;while
(pb<=pb_last)
*pc++
=*pb++;}
/*附:取順序表第 j 個元素*/
intgetelem
(sqlist l,
int i)
傳送門
各部分**詳解,通過私有庫呼叫函式測試:
嚴蔚敏版資料結構-序言
嚴蔚敏版資料結構-演算法2.3
嚴蔚敏版資料結構-演算法2.4
嚴蔚敏版資料結構-演算法2.5
嚴蔚敏版資料結構-演算法2.6
嚴蔚敏版資料結構-演算法2.7
資料結構(嚴蔚敏)陣列順序表
c1.h 程式名 include include include malloc 等 include int max等 include eof z或f6 null include atoi include eof include floor ceil abs include exit 函式結果狀態 d...
嚴蔚敏版資料結構 演算法2 4
嚴版資料結構 p23 演算法 2.4 include include include f c kind project datastruct privacy privacy.h intmain for i 1 i 11 i if listinsert sq l,i,i 10 1 i 1 while ...
嚴蔚敏版資料結構 演算法2 7
include include include f c kind project datastruct privacy privacy.h void virgin sqlist l int main void void virgin sqlist l 演算法2.7 合併順序表,並將元素按從小到大排序...