第三週專案4順序表應用

2021-07-05 10:21:01 字數 2715 閱讀 5006

/*   

*檔名稱:專案4(1).cpp

*作 者:彭子竹

*完成日期:2023年9月25日

*版 本 號:v1.0

*

*問題描述:刪除元素在[x, y]之間的所有元素,要求演算法的時間複雜度為o(n),空間複雜度為o(1);

*輸入描述:無

*程式輸出:輸出調整後的線性表

*/

標頭檔案:

#ifndef list_h_included

#define list_h_included

#define maxsize 50

#include #include typedef int elemtype;

typedef struct

sqlist;

void createlist(sqlist *&l, elemtype a, int n);//用陣列建立線性表

void initlist(sqlist *&l);//初始化線性表initlist(l)

void destroylist(sqlist *&l);//銷毀線性表destroylist(l)

bool listempty(sqlist *l);//判定是否為空表listempty(l)

int listlength(sqlist *l);//求線性表的長度listlength(l)

void displist(sqlist *l);//輸出線性表displist(l)

bool getelem(sqlist *l,int i,elemtype &e);//求某個資料元素值getelem(l,i,e)

int locateelem(sqlist *l, elemtype e);//按元素值查詢locateelem(l,e)

bool listinsert(sqlist *&l,int i,elemtype e);//插入資料元素listinsert(l,i,e)

bool listdelete(sqlist *&l,int i,elemtype &e);//刪除資料元素listdelete(l,i,e)#endif // list_h_included

#endif

功能函式:

#include "list.h"

//用陣列建立線性表

void createlist(sqlist *&l, elemtype a, int n)

//初始化線性表initlist(l)

void initlist(sqlist *&l) //引用型指標

//銷毀線性表destroylist(l)

void destroylist(sqlist *&l)

//判定是否為空表listempty(l)

bool listempty(sqlist *l)

//求線性表的長度listlength(l)

int listlength(sqlist *l)

//輸出線性表displist(l)

void displist(sqlist *l)

//求某個資料元素值getelem(l,i,e)

bool getelem(sqlist *l,int i,elemtype &e)

//按元素值查詢locateelem(l,e)

int locateelem(sqlist *l, elemtype e)

//插入資料元素listinsert(l,i,e)

bool listinsert(sqlist *&l,int i,elemtype e)

//刪除資料元素listdelete(l,i,e)

bool listdelete(sqlist *&l,int i,elemtype &e)

測試檔案**:

#include "list.h"

#include //刪除線性表中,元素值在x到y之間的元素

void delx2y(sqlist *&l, elemtype x, elemtype y)

for (i=0; ilength; i++)

if (l->data[i]data[i]>y ) //複製不在[x, y]之間的元素

l->length=k;

}//用main寫測試**

int main()

; createlist(sq, a, 12);

printf("刪除前 ");

displist(sq);

delx2y(sq, 1, 5);//主要運用此函式刪除

printf("刪除後 ");

displist(sq);

return 0;

}

執行結果:

知識點總結:

還是對演算法庫的應用,線性表元素的刪除,及查詢元素。

學習心得:

學好演算法庫,能省不少事,我離學好還差很多,要多多練習這部分內容。

(第三週專案4)順序表應用

1.include include 動態儲存分配函式標頭檔案 define maxsize 50 必要的巨集定義 typedef int elemtype typedef struct sqlist elemtype e void createlist sqlist l,elemtype a,int...

第三週 專案4 順序表應用

檔名稱 cpp.cpp 作者 王超 完成日期 2015.9.18 問題描述 順序表應用 include include define maxsize 50 typedef int elemtype typedef struct sqlist void createlist sqlist l,elem...

第三週專案4 順序表應用

檔名稱 idea.cpp 完成日期 2015年9月18日 list.h 01.define maxsize 50 02.typedef int elemtype 03.typedef struct 04.sqlist 08.void createlist sqlist l,elemtype a,in...