問題及**:
/*
檔名稱:專案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都可以同法完成...