順序表的基本運算

2021-09-30 12:45:49 字數 1941 閱讀 6916

檔名稱:專案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 ...