第三週 專案一 順序表的基本運算 3

2021-07-22 18:37:30 字數 1951 閱讀 7076

問題及描述:

/* 

*煙台大學計算機與控制工程學院

完成日期:2023年9月16號

問題描述:(3)其餘的4個基本運算:插入資料元素listinsert、刪除資料元素listdelete、

初始化線性表initlist、銷毀線性表destroylist都可以同法完成。

剛才的測試函式已經變得龐大。基本運算的模組保留,用於測試的main函式

可以改變。main函式的針對性越強,實踐越有效。

*/

#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) 順序表的基本運算

all rights reservrd.版本號 v1.0 問題描述 實現插入資料元素,刪除資料元素,初始化線性表和銷毀線性表四個功能。問題輸入 給出一組數 問題輸出 見截圖 include include define maxsize 50 typedef int elemtype typedef ...

第三週 專案一 順序表的基本運算(3)

煙台大學計算機與控制工程學院 檔名稱 lk 完成日期 2017年9月18日 問題描述 初始化線性表initlist和插入資料元素listinsert兩個演算法 輸入描述 無需輸入 程式輸出 插入到線性表中的元素 include include define maxsize 50 maxsize將用於...

第三週專案一 順序表的基本運算(3)

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 用...