/*
*檔名稱:test.cpp
*完成日期:2023年9月18日
*版本號:vc++6.0
**問題描述:線性表
*輸入描述:無
*程式輸出:輸出線性表的內容、長度、查詢第n個整數
*/#include
#include
#define maxsize 50 //maxsize將用於後面定義儲存空間的大小
typedef
intelemtype;
//elemtype在不同場合可以根據問題的需要確定,在此取簡單的int
typedef
struct
sqlist;
//自定義函式宣告部分
void
createlist(sqlist *&l, elemtype a,
intn);
//用陣列建立線性表
void
displist(sqlist *l);
//輸出線性表displist(l)
bool
listempty(sqlist *l);
//判定是否為空表listempty(l)
intlistlength(sqlist *l);
//求線性表的長度listlength(l)
bool
getelem(sqlist *l,
inti,elemtype &e);
//求某個資料元素值getelem(l,i,e)
intlocateelem(sqlist *l, elemtype e);
//按元素值查詢locateelem(l,e)
//實現測試函式
intmain()
; elemtype a;
intloc;
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,
intn)
//輸出線性表displist(l)
void
displist(sqlist *l)
//判定是否為空表listempty(l)
bool
listempty(sqlist *l)
//求線性表的長度listlength(l)
intlistlength(sqlist *l)
//求某個資料元素值getelem(l,i,e)
bool
getelem(sqlist *l,
inti,elemtype &e)
//按元素值查詢locateelem(l,e)
intlocateelem(sqlist *l, elemtype e)
執行結果:
知識點總結:通過這兩個程式,由簡到複雜,從基本的程式開始編寫,每個功能要一步步的完成,才能做好乙個大的程式。
第三週專案1 順序表的基本運算(2)
在已經建立線性表的基礎上,求線性表的長度listlength 求線性表l中指定位置的某個資料元素getelem 查詢元素locateelem的演算法都可以實現了。就在原程式的基礎上增加 增加求線性表的長度listlength的函式並測試 增加求線性表l中指定位置的某個資料元素getelem的函式並測...
第三週專案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...