第3周實踐專案 順序表的基本運算(3)

2021-07-05 07:42:10 字數 1916 閱讀 2141

問題及**:

/*    

檔名稱:專案1 - 順序表的基本運算(3).cpp

作 者:劉強

完成日期:2023年9月15日

版 本 號: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;

}

執行結果:

知識點總結:

第3周實踐專案1 順序表的基本運算

檔名稱 1.cpp 完成日期 2017年9月19日 版本號 v1.0 問題描述 用函式實現順序表的10個基本運算 見下 並用main函式完成除錯工作 輸入描述 無 程式輸出 無 include include include define maxsize 100 using namespace st...

第3周專案1(3) 順序表基本運算

檔名稱 dsitem3 1.cpp 作 者 於子淇 完成日期 2017年9月14日 版 本 號 visual c 6.0 問題描述 領會 0207將演算法變程式 部分建議的方法,將順序表部分的演算法變成程式。依據 最小化 的原則進行測試。所謂最小化原則,指的是利用盡可能少的基本運算,組成乙個程式,並...

第3周專案1 順序表的基本運算(3)

檔名稱 第3周專案1 順序表的基本運算 3 cpp 作 者 陳勝男 完成日期 2015年10月9日 版 本 號 v1.0 問題描述 3 其餘的4個基本運算 插入資料元素listinsert 刪除資料元素listdelete 初始化線性表initlist 銷毀線性表destroylist都可以同法完成...