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

2021-08-08 12:53:29 字數 2845 閱讀 3698

/*  

*all rights reservrd.      

*檔名稱 :test.cpp      

*版本號:v1.0      

*問題描述:建立順序表的演算法庫

問題及**:

list.h:

#include #include #define maxsize 50

typedef int elemtype;

typedef struct

sqlist;

//自定義函式宣告部分

void createlist(sqlist *&l, elemtype a, int 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);

void initlist(sqlist *&l);

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

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

void destroylist(sqlist *&l);

list.cpp:

#include #include #include "list.h"

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

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

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

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

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

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

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

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

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

void destroylist(sqlist *&l)

main.cpp:

#include "list.h"

int main()

; elemtype a;

int loc;

createlist(sq,x,6);

displist(sq);

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

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");

if((loc=locateelem(sq, 8))>0)

printf("找到了,值為8的元素是第 %d 個\n", loc);

else

printf("值為8的元素木有找到!\n");

if((loc=locateelem(sq, 17))>0)

printf("找到了,值為17的元素是第 %d 個\n", loc);

else

printf("值為17的元素木有找到!\n");

elemtype e;

printf("初始化線性表\n");

initlist(sq);

printf("在第1個位置插入元素0\n");

listinsert(sq, 1, 0);

displist(sq);

printf("在第2個位置插入元素6\n");

listinsert(sq, 2, 6);

displist(sq);

printf("在第1個位置插入元素9\n");

listinsert(sq, 1, 9);

displist(sq);

printf("刪除第2個位置的元素\n");

listdelete(sq,2,e);

displist(sq);

printf("銷毀線性表\n");

destroylist(sq);

displist(sq);

return 0;

}

執行結果:

學習心得:

鞏固了對程式的多檔案組織的學習,運用起來更得心應手;

雖說**是複製來的,但仍懂得了每條**的運用方式。

第三週 專案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...