/*
煙台大學計算機學院
檔名稱:xm2.cpp
完成日期:2023年9月17日
問題描述:順序表建立,查詢,插入,刪除多檔案
輸入描述:無
輸出描述:順序表元素,查詢的元素,順序表位置
*/
list.h:
#ifndef list_h_included
#define list_h_included
#define maxsize 50
typedef int elemtype;
typedef struct
sqlist;
void createlist(sqlist *&l, elemtype a, int n);//用陣列建立線性表
void initlist(sqlist *&l);//初始化線性表initlist(l)
void destroylist(sqlist *&l);//銷毀線性表destroylist(l)
bool listempty(sqlist *l);//判定是否為空表listempty(l)
int listlength(sqlist *l);//求線性表的長度listlength(l)
void displist(sqlist *l);//輸出線性表displist(l)
bool getelem(sqlist *l,int i,elemtype &e);//求某個資料元素值getelem(l,i,e)
int locateelem(sqlist *l, elemtype e);//按元素值查詢locateelem(l,e)
bool listinsert(sqlist *&l,int i,elemtype e);//插入資料元素listinsert(l,i,e)
bool listdelete(sqlist *&l,int i,elemtype &e);//刪除資料元素listdelete(l,i,e)
#endif
list.cpp:
#include #include #include "list.h"
//用陣列建立線性表
void createlist(sqlist *&l, elemtype a, int n)
//初始化線性表initlist(l)
void initlist(sqlist *&l) //引用型指標
//銷毀線性表destroylist(l)
void destroylist(sqlist *&l)
//判定是否為空表listempty(l)
bool listempty(sqlist *l)
//求線性表的長度listlength(l)
int listlength(sqlist *l)
//輸出線性表displist(l)
void displist(sqlist *l)
//求某個資料元素值getelem(l,i,e)
bool getelem(sqlist *l,int i,elemtype &e)
//按元素值查詢locateelem(l,e)
int locateelem(sqlist *l, elemtype e)
//插入資料元素listinsert(l,i,e)
bool listinsert(sqlist *&l,int i,elemtype e)
//刪除資料元素listdelete(l,i,e)
bool listdelete(sqlist *&l,int i,elemtype &e)
main函式:
#include #include #include "list.h"
int main()
; createlist(sq, x, 6);
displist(sq);
printf("表長度:%d\n", listlength(sq));
if(getelem(sq,4,a))//測試在範圍內
else
if(getelem(sq, 3, a)) //測試不在範圍內的情形
printf("找到了第3個元素值為:%d\n", a);
else
printf("第3個元素超出範圍!\n");
if(b=locateelem(sq,3)>0)//測試找到
else
if((b=locateelem(sq, 17))>0) //測試不能找到的
printf("找到了,值為17的元素是第 %d 個\n", b);
else
printf("值為17的元素沒有找到!\n");
printf("初始化插入之後\n");
initlist(sq);
listinsert(sq, 1, 5);
listinsert(sq, 2, 3);
listinsert(sq, 1, 4);
displist(sq);
return 0;
}
執行結果:
學習心得:
及學會了順序表的演算法應用,又學會了多檔案組織。
第三週專案(2)
問題及 main。cpp all right reserved.檔名稱 l1.cpp 完成日期 2016年9月22日 版本號 v1.0 問題描述 已知l1和l2分別指向兩個單鏈表的頭結點,且已知其長度分別為m n,請設計演算法將l2連線到l1的後面。實現這個演算法,完成測試,並分析這個演算法的複雜度...
第三週專案一(2)
煙台大學計算機學院 檔名稱 xm1.cpp 完成日期 2017年9月20日 問題描述 順序表建立,查詢 輸入描述 無 輸出描述 順序表元素,順序表位置 include include define maxsize 50 儲存空間大小巨集定義 typedef int elemtype 定義elemty...
第三週專案三
煙台大學計算機學院 檔名稱 main.cpp ti.cpp head.h 完成日期 2017年9月20日 問題描述 求兩個順序表的並集 輸入描述 無 輸出描述 無 include include include head.h using namespace std void unionlist sq...