第三週,專案二

2021-07-05 16:34:09 字數 2169 閱讀 3203

/*    

檔名稱:專案2--建設「順序表」演算法庫.cpp

作 者:魏樂天

完成日期:2023年10月9日

版 本 號:v1.0

問題描述: 領會「0207將演算法變程式」部分建議的方法,建設自己的專業基礎設施演算法庫。

這一周,建的是順序表的演算法庫。演算法庫包括兩個檔案:

1.標頭檔案:list.h,包含定義順序表資料結構的**、巨集定義、要實現演算法的函式的宣告;

2.原始檔:list.cpp,包含實現各種演算法的函式的定義

請採用程式的多檔案組織形式,在專案1的基礎上,建立如上的兩個檔案,另外再建立乙個原始檔,

編制main函式,完成相關的測試工作。請完成後,發布博文,展示你的實踐成果。

輸入描述: 若干資料 。

程式輸出: 1.線性表的長度。

2.第3個元素及其值的大小。

3.8在表中的第幾位。

4.刪除的元素。

5.刪除後的線性表。

6.刪除線性表。

*/

list.h標頭檔案

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

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

typedef struct

sqlist;

//宣告自定義函式

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

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

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

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

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

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

bool listempty(sqlist *l);

int listlength(sqlist *l);

int locateelem(sqlist *l, elemtype e);

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

原始檔:list.cpp

#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;

}

main函式

#include"list.h"

int main()

執行結果

知識點總結:

多檔案的處理、線性表的應用以及演算法庫的建立。

第三週 專案二

include ifndef list h included define list h included define maxsize 50 using namespace std typedef int elemtype typedef struct sqlist void createlist...

第三週專案二

煙台大學計算機學院 問題描述 順序表建立,查詢,插入,刪除多檔案 輸入描述 無 輸出描述 順序表元素,查詢的元素,順序表位置 list.h cpp view plain copy ifndef list h included define list h included define maxsize...

第三週專案三

煙台大學計算機學院 檔名稱 main.cpp ti.cpp head.h 完成日期 2017年9月20日 問題描述 求兩個順序表的並集 輸入描述 無 輸出描述 無 include include include head.h using namespace std void unionlist sq...