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

2021-08-08 09:10:45 字數 2437 閱讀 6852

/*  

* all right reserved.  

* 檔名稱:main.cpp 

* 完成日期:2023年9月17日  

* 版本號:v1.0  

*  * 問題描述:自建演算法庫,實現有關線性表的各種運算 

* 輸入描述:標準函式輸入  

* 程式輸出:標準函式輸出 

*/

首先是宣告演算法庫各函式的標頭檔案,將其命名為list.h

#pragma once

#ifndef list_h_included

#define list_h_included

#define maxsize 50

typedef int elemtype;

typedef struct

sqlist;

void createlist(sqlist *&l, elemtype a, int n);//用陣列建立線性表

void initlist(sqlist *&l);//初始化線性表initlist(l)

void destroylist(sqlist *&l);//銷毀線性表destroylist(l)

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

int listlength(sqlist *l);//求線性表的長度listlength(l)

void displist(sqlist *l);//輸出線性表displist(l)

bool getelem(sqlist *l, int i, elemtype &e);//求某個資料元素值getelem(l,i,e)

int locateelem(sqlist *l, elemtype e);//按元素值查詢locateelem(l,e)

bool listinsert(sqlist *&l, int i, elemtype e);//插入資料元素listinsert(l,i,e)

bool listdelete(sqlist *&l, int i, elemtype &e);//刪除資料元素listdelete(l,i,e)#endif // list_h_included

#endif

然後是定義演算法庫各函式的原始檔,將其命名為list.cpp

#include #include #include "list.h"

//用陣列建立線性表

void createlist(sqlist *&l, elemtype a, int n)

//初始化線性表initlist(l)

void initlist(sqlist *&l) //引用型指標

//銷毀線性表destroylist(l)

void destroylist(sqlist *&l)

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

bool listempty(sqlist *l)

//求線性表的長度listlength(l)

int listlength(sqlist *l)

//輸出線性表displist(l)

void displist(sqlist *l)

//求某個資料元素值getelem(l,i,e)

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

//按元素值查詢locateelem(l,e)

int locateelem(sqlist *l, elemtype e)

//插入資料元素listinsert(l,i,e)

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

//刪除資料元素listdelete(l,i,e)

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

構建好演算法庫後我們就可以在主函式中對線性表演算法庫中的函式進行呼叫和測試了

#include "list.h"

int main()

; createlist(sq, x, 6);//建立線性表函式

displist(sq);//輸出線性表函式

return 0;

}

輸出結果:

知識點總結:建立自己的演算法庫需要我們對於程式結構體系有一定了解,對多檔案組織要有更深層次的體會。期間對於c/c++知識儲備水平的要求也是不低的,學到了新知識又溫習到了學過的知識。

心得體會:在定義演算法庫的時候用到了指向引用型別的指標,當時遇到了一定思想上的阻礙,不過在團隊破冰之後,還是掌握了運用它的方法。相信在以後的學習中會成為一種高效的方法。

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

檔名稱 cpp.cpp 作者 王超 完成日期 2015.9.18 問題描述 建設順序表演算法庫 include include define maxsize 50 typedef int elemtype typedef struct sqlist void createlist sqlist l,...

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

問題及 檔名稱 專案2.cbp 作 者 完成日期 2015年9月16日 版 本 號 v1.0 問題描述 請採用程式的多檔案組織形式,在專案1的基礎上,建立 如上的兩個檔案,另外再建立乙個原始檔,編制main函 數,完成相關的測試工作。輸入描述 無 程式輸出 依據各個函式而定 list.h檔案 ifn...

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

01.04.檔名稱 list.cpp 05.作 者 蘇凱祺 06.完成日期 2014年10月9號 07.版 本 號 v1.0 08.問題描述 建設 順序表 的演算法庫 09.list.h ifndef list h included define list h included define max...