第三週專案2 建立「順序表」演算法庫

2021-07-05 09:04:28 字數 3080 閱讀 8511

(1)標頭檔案 list.h

[cpp] view plaincopyprint?

01.#include 02.#include 03.

04.#define maxsize 50 //maxsize將用於後面定義儲存空間的大小

05.typedef int elemtype; //elemtype在不同場合可以根據問題的需要確定,在此取簡單的int

06.typedef struct

07. sqlist;

11.

12.

13.//宣告自定義函式

14.void initlist(sqlist *&l); //初始化順序表

15.void listinsert(sqlist *l,int i,int b); //插入函式

16.void displist(sqlist *l); //輸出函式

17.bool listempty(sqlist *l);//判定是否為空表listempty(l)

18.void destroylist(sqlist *l);//釋放線性表l占用的記憶體空間

19.int listdelete(sqlist *, int , int &);

20.bool listempty(sqlist *l);

21.int listlength(sqlist *l);

22.int locateelem(sqlist *l, elemtype e);

23.bool getelem(sqlist *l,int i,elemtype &e);

(2)原始檔 list.cpp

[cpp] view plaincopyprint?

01.#include"list.h"

02.//輸出線性表displist(l)

03.void displist(sqlist *l)

04.

12.

13.//判定是否為空表listempty(l)

14.bool listempty(sqlist *l)

15.

18.

19.//初始化順序表initlist(*l)

20.void initlist(sqlist *&l)

21.

26.

27.void listinsert(sqlist *l,int i,int b) //插入函式

28.

35. i=i-1;

36. if(l->length==0)

37.

42.

43.

44. else

45.

50. l->data[i]=b;

51. l->length++;

52. }

53.

54.}

55.

56.void destroylist(sqlist *l)

57.

62.

63.int listdelete(sqlist *l, int i, int &e)

64.

78. l->length--;

79.

80. }

81. return e;

82.

83.}

84.int listlength(sqlist *l)

85.

88.

89.bool getelem(sqlist *l,int i,elemtype &e)

90.

97.int locateelem(sqlist *l, elemtype e)

98.

104. if(i>=l->length)

105.

108. return i+1;

109.}

#include"list.h"

//輸出線性表displist(l)

void displist(sqlist *l)

//判定是否為空表listempty(l)

bool listempty(sqlist *l)

//初始化順序表initlist(*l)

void initlist(sqlist *&l)

void listinsert(sqlist *l,int i,int b) //插入函式

i=i-1;

if(l->length==0)

else

l->data[i]=b;

l->length++; }}

void destroylist(sqlist *l)

int listdelete(sqlist *l, int i, int &e)

l->length--;

}return e;

}int listlength(sqlist *l)

bool getelem(sqlist *l,int i,elemtype &e)

int locateelem(sqlist *l, elemtype e)

if(i>=l->length)

return i+1;

}

(3)main函式

[cpp] view plaincopyprint?

01.#include"list.h"

02.int main()

03.

執行結果:

個人心得:

自己建立演算法庫更能好好的理解演算法,這也是自己動手設計,自己更能深刻理解的乙個很好的實踐

第三週專案2 建立「順序表」演算法庫

問題及 01.04.檔名稱 a.cpp 06.完成日期 2016.9.17 08.標頭檔案 list.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告 09.原始檔 list.cpp,包含實現各種演算法的函式的定義 10.1.list.h的 include02.include03.d...

第三週專案2 建立順序表的演算法庫

檔名稱 專案2 建設 順序表 演算法庫.cpp 作 者 孫欽達 完成日期 2015年10月5日 版 本 號 v1.0 問題描述 領會 0207將演算法變程式 部分建議的方法,建設自己的專業基礎設施演算法庫。這一周,建的是順序表的演算法庫。演算法庫包括兩個檔案 1.標頭檔案 list.h,包含定義順序...

第三週專案2 建立順序表的演算法庫

檔名稱 w.cpp 作 者 武昊 完成日期 2016年9月18日 版 本 號 v1.0 問題描述 請採用程式的多檔案組織形式,在專案1的基礎上,建立 如上的兩個檔案,另外再建立乙個原始檔,編制main函 數,完成相關的測試工作。輸入描述 無 程式輸出 資料 list.h define maxsize...