檔名稱:專案1 - 順序表的基本運算(3).cpp
作 者:劉小碩
完成日期:2023年9月21日
版 本 號:v1.0
問題描述:(3)其餘的4個基本運算:插入資料元素listinsert、刪除資料元素listdelete、
初始化線性表initlist、銷毀線性表destroylist都可以同法完成。
剛才的測試函式已經變得龐大。基本運算的模組保留,用於測試的main函式
可以改變。main函式的針對性越強,實踐越有效。
輸入描述: 若干資料 。
程式輸出: 1.線性表的長度。
2.第3個元素及其值的大小。
3.8在表中的第幾位。
4.刪除的元素。
5.刪除後的線性表。
6.刪除線性表。
*/
#include #include #define maxsize 50 //maxsize將用於後面定義儲存空間的大小
typedef int elemtype; //elemtype在不同場合可以根據問題的需要確定,在此取簡單的int
typedef struct
sqlist;
//宣告自定義函式
void initlist(sqlist *&l); //初始化順序表
void listinsert(sqlist *l,int i,int b); //插入函式
void displist(sqlist *l); //輸出函式
bool listempty(sqlist *l);//判定是否為空表listempty(l)
void destroylist(sqlist *l);//釋放線性表l占用的記憶體空間
int listdelete(sqlist *, int , int &);
bool listempty(sqlist *l);
int listlength(sqlist *l);
int locateelem(sqlist *l, elemtype e);
bool getelem(sqlist *l,int i,elemtype &e);
int main()
//輸出線性表displist(l)
void displist(sqlist *l)
//判定是否為空表listempty(l)
bool listempty(sqlist *l)
//初始化順序表initlist(*l)
void initlist(sqlist *&l)
void listinsert(sqlist *l,int i,int b) //插入函式
i=i-1;
if(l->length==0)
else
l->data[i]=b;
l->length++; }}
void destroylist(sqlist *l)
int listdelete(sqlist *l, int i, int &e)
l->length--;
}return e;
}int listlength(sqlist *l)
bool getelem(sqlist *l,int i,elemtype &e)
int locateelem(sqlist *l, elemtype e)
if(i>=l->length)
return i+1;
}
執行結果:
知識點總結:
雖然這一堆**是copy來的,但我也對與順序表的基本運算有了一定的了解,我知道剛接觸這些知識很難,但只要堅持下去,勝利就在不遠處了。
順序表的基本運算
問題及 標頭檔案 2015,煙台大學計算機與控制工程學院 完成日期 2015年9月7日 版本 v1.0 問題描述 測試 建立線性表 的演算法createlist,為檢視建表的結果,需要實現 輸出線性表 的演算法displist。要輸出線性表,還要判斷表是否為空,這樣,實現判斷線性表是否為空的演算法l...
順序表的基本運算
順序表的基本運算 以順序表為例 1 目的是要測試 建立線性表 的演算法createlist,為檢視建表的結果,需要實現 輸出線性表 的演算法displist。在研習displist中發現,要輸出線性表,還要判斷表是否為空,這樣,實現判斷線性表是否為空的演算法listempty成為必要。這樣,再加上m...
順序表的基本運算
問題及 2015,煙台大學計算機與控制工程學院 完成日期 2015年9月14日 版本 v1.0 問題描述 運用插入資料元素,刪除資料元素,初始化線性表,銷毀線性表 include include define maxsize 50 maxsize將用於後面定義儲存空間的大小 typedef int ...