第三週專案四

2021-08-09 02:08:38 字數 2678 閱讀 1905

煙台大學計算機學院  

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

輸入描述:無  

輸出描述:刪除後的元素  

*/  

#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寫測試**

intmain()  

;  createlist(sq, a, 10);  

printf("刪除前 "

);  

displist(sq);  

delx2y(sq, 2, 6);  

printf("刪除後 "

);  

displist(sq);  

return

0;  

}  

用到了前面的演算法庫:

list.h與list.cpp

[cpp]view plain

copy

#ifndef list_h_included

#define list_h_included

#define maxsize 50

typedef

intelemtype;  

typedef

struct

sqlist;  

void

createlist(sqlist *&l, elemtype a, 

intn);

//用陣列建立線性表

void

initlist(sqlist *&l);

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

void

destroylist(sqlist *&l);

//銷毀線性表destroylist(l)

bool

listempty(sqlist *l);

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

intlistlength(sqlist *l);

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

void

displist(sqlist *l);

//輸出線性表displist(l)

bool

getelem(sqlist *l,

inti,elemtype &e);

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

intlocateelem(sqlist *l, elemtype e);

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

bool

listinsert(sqlist *&l,

inti,elemtype e);

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

bool

listdelete(sqlist *&l,

inti,elemtype &e);

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

#endif

[cpp]view plain

copy

#include 

#include 

#include "list.h"

//用陣列建立線性表

void

createlist(sqlist *&l, elemtype a, 

intn)  

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

void

initlist(sqlist *&l)   

//引用型指標

//銷毀線性表destroylist(l)

void

destroylist(sqlist *&l)  

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

bool

listempty(sqlist *l)  

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

intlistlength(sqlist *l)  

//輸出線性表displist(l)

void

displist(sqlist *l)  

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

bool

getelem(sqlist *l,

inti,elemtype &e)  

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

intlocateelem(sqlist *l, elemtype e)  

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

bool

listinsert(sqlist *&l,

inti,elemtype e)  

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

bool

listdelete(sqlist *&l,

inti,elemtype &e)  

第三週專案四

問題及 all right reserved.檔名稱 線性表刪除元素.cpp 完成日期 2015年9月15日 版本號 v1.0 問題描述 定義乙個採用順序結構儲存的線性表,設計演算法完成下面的工作 刪除元素在 x,y 之間的所有元素,要求演算法的時間複雜度為o n 空間複雜度為o 1 將所在奇數移到...

第三週專案四

1.檔名稱 2.作 者 武美妤 3.完成日期 2017年9月17日 4.版 本 號 v1.0 5.問題描述 定義乙個採用順序結構儲存的線性表,設計演算法完成下面的工作 1 刪除元素在 x,y 之間的所有元素,要求演算法的時間複雜度為o n 空間複雜度為o 1 2 將所在奇數移到所有偶數的前面,要求演...

第三週專案四

煙台大學計算機學院 檔名稱 xm1.cpp 完成日期 2017年9月17日 問題描述 順序表建立,查詢 輸入描述 無 輸出描述 順序表元素,順序表位置 include include define maxsize 50 儲存空間大小巨集定義 typedef int elemtype 定義elemty...