第三週 專案1 順序表的基本運算

2021-07-22 18:28:34 字數 3322 閱讀 1294

問題及描述:

/*     

檔名稱:第3周實踐專案--順序表的基本運算.cpp

作 者: 白曉娟

完成日期:2023年9月16日

檔名:11.cpp    

問題描述:領會「0207將演算法變程式」部分建議的方法,將順序表部分的演算法變成程式。 實現順序表基本運

則進行測試。所謂最小化原則,指的是利用盡可能少的基本運算,組成乙個程式,並設計main函式

完成測試。作為第乙個這種型別的實踐(後續每一部分均有這種實踐,這是我們學習的基礎,也是

(1)目的是要測試「建立線性表」的演算法createlist,為檢視建表的結果,需要實現「輸出線性表」的

演算法displist。在研習displist中發現,要輸出線性表,還要判斷表是否為空,這樣,實現判斷線性表

是否為空的演算法listempty成為必要。這樣,再加上main函式,這個程式由4個函式構成。main函式用於

寫測試相關的**。

輸入描述:若干資料。

程式輸出:若干資料。

*/

**1:

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

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

typedef struct

sqlist;

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

void displist(sqlist *l);

bool listempty(sqlist *l);

int listlength(sqlist *l);

int locateelem(sqlist *l, elemtype e);

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

int main()

; elemtype a;

createlist(sq, x, 6);

displist(sq);

printf("表長度%d\n",listlength(sq));

printf("查詢線性表中的第三個元素%d\n",locateelem(sq, 3));

if(getelem(sq, 3, a)) //測試在範圍內的情形

printf("找到了第3個元素值為:%d\n", a);

else

printf("第3個元素超出範圍!\n");

if(getelem(sq, 15, a)) //測試不在範圍內的情形

printf("找到了第15個元素值為:%d\n", a);

else

printf("第15個元素超出範圍!\n");

return 0;

}

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

bool listempty(sqlist *l) //判斷鍊錶是否存在

void createlist(sqlist *&l, elemtype a, int n) //判斷鍊錶是否為空表

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

int locateelem(sqlist *l, elemtype e) //查詢線性表中的元素

bool getelem(sqlist *l, int i, elemtype &e) //查詢某個元素並輸出真假

結果:

typedef int elemtype; //自定義資料型別

typedef struct list

sqlist;

//實現演算法的自定義函式以及其他必要的自定義函式

void createlist(sqlist *&l,elemtype a,int n) //由a中的n個元素建立順序表

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

bool listempty(sqlist *l) //布林型函式判斷順序表是否為空表

int listlength(sqlist *l) //求順序表長度

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

int locateelem(sqlist *l,elemtype e) //按元素值查詢順序表中元素

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

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

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

void destroylist(sqlist *&l) //銷毀順序表

//定義用於驅動測試的main函式

int main()

; elemtype b[5]=;

elemtype e;

int loc;

createlist(l,b,5);

displist(l);

cout<

結果:

知識點總結:

順序表的基本運算(建表、初始化、輸出、銷毀、判空表、求長度、求資料元素值、查詢資料元素、插入、刪除)

心得體會:

複習了以前學過的知識,對以前不懂的地方有了深刻的認識。

第三週 專案1 順序表的基本運算

檔名稱 cpp.cpp 作者 王超 完成日期 2015.9.18 問題描述 順序表的基本運算 include include define maxsize 50 typedef int elemtype typedef struct sqlist void createlist sqlist l,e...

第三週 專案1 順序表的基本運算

問題及 檔名稱 test.cpp 作 者 馬笑媛 完成日期 2015.9.16 版 本 號 v1.0 問題描述 目的是要測試建立線性表的演算法。包括求線性表的長度,求線性表中指定位置的某個元素 查詢元素 插入資料元素 刪除資料元素 初始化線性表 銷毀線性表。include include defin...

第三週專案1 順序表的基本運算

問題及 檔名稱 順序表的基本運算 完成日期 2015年9月18日 輸入描述 線性表 程式輸出 測試結果 1 include include define maxsize 50 maxsize將用於後面定義儲存空間的大小 typedef int elemtype elemtype在不同場合可以根據問題...