嚴蔚敏版資料結構 順序表演算法總結

2021-10-16 13:00:42 字數 1578 閱讀 6250

嚴蔚敏版資料結構順序表部分,演算法 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 合併順序表,並將元素按從小到大排序...