在已經建立線性表的基礎上,求線性表的長度listlength、求線性表l中指定位置的某個資料元素getelem、查詢元素locateelem的演算法都可以實現了。就在原程式的基礎上增加:
增加求線性表的長度listlength的函式並測試;
增加求線性表l中指定位置的某個資料元素getelem的函式並測試;
增加查詢元素locateelem的函式並測試;
#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);//輸出線性表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)
//實現測試函式
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)
//輸出線性表displist(l)
void displist(sqlist *l)
//判定是否為空表listempty(l)
bool listempty(sqlist *l)
//求線性表的長度listlength(l)
int listlength(sqlist *l)
//求某個資料元素值getelem(l,i,e)
bool getelem(sqlist *l,int i,elemtype &e)
//按元素值查詢locateelem(l,e)
第三週專案1 順序表的基本運算 2
問題與 檔名稱 shun.cpp 完成日期 2015年9月20日 版本號 v1.0 問題描述 在已經建立線性表的基礎上,在原程式的基礎上增加 增加求線性表的長度listlength的函式並測試 增加求線性表l中指定位置的某個資料元素getelem的函式並測試 增加查詢元素locateelem的函式並...
第三週專案1 順序表的基本運算(2)
檔名稱 test.cpp 完成日期 2015年9月18日 版本號 vc 6.0 問題描述 線性表 輸入描述 無 程式輸出 輸出線性表的內容 長度 查詢第n個整數 include include define maxsize 50 maxsize將用於後面定義儲存空間的大小 typedef int e...
第三週專案1順序表的基本運算2
檔名稱 test.cpp 完成日期 2015年9月18日 版本號 v1.0 問題描述 順序表的基本運算。include include define maxsize 50 maxsize將用於後面定義儲存空間的大小 typedef int elemtype elemtype在不同場合可以根據問題的需...