煙台大學計算機學院
問題描述:刪除元素在[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...