第三週上機實踐 專案1 順序表的基本運算

2021-07-05 07:36:58 字數 1918 閱讀 3173

/*

*檔名稱:test.cpp

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

*版本:v1.0

* *問題描述:測試「建立線性表的」的演算法createlist,以及需要實現「輸出線性表」的演算法displist

*輸入描述:宣告自定義函式、定義main函式、定義各個自定義函式。

*程式輸出:輸出所得結果。

*/#include#include#include using namespace std;

#define maxsize 50

typedef int elemtype;

typedef struct

sqlist;

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

bool listempty(sqlist *l);

void displist(sqlist *l);

int listlength(sqlist *l);

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

int locateelem(sqlist *l,elemtype e);

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

return 0;

}void createlist(sqlist *&l,elemtype a,int n) //建立順序表;

bool listempty(sqlist *l) //判斷線性表是否為空表;

void displist(sqlist *l) //掃瞄順序表輸出各元素值;

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

bool getelem(sqlist *l,int i,elemtype &e) //求線性表中某個元素的值

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

執行結果:

知識點總結:必要的標頭檔案宣告,必要的巨集定義。宣告各個自定義函式,在實現dislist函式時要判斷線性表是否為空即實現listempty函式成為必要。

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

問題及 include include define maxsize 50 maxsize將用於後面定義儲存空間的大小 typedef int elemtype elemtype在不同場合可以根據問題的需要確定,在此取簡單的int typedef struct sqlist 自定義函式宣告部分 vo...

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

1 目的是要測試 建立線性表 的演算法createlist,為檢視建表的結果,需要實現 輸出線性表 的演算法displist。在研習displist中發現,要輸出線性表,還要判斷表是否為空,這樣,實現判斷線性表是否為空的演算法listempty成為必要。這樣,再加上main函式,這個程式由4個函式構...

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

演算法庫包括兩個檔案 標頭檔案 list.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告 原始檔 list.cpp,包含實現各種演算法的函式的定義 list.h ifndef list h included define list h included define maxsize...