YTU 2986 刪除區間內的元素(線性表)

2021-07-10 16:03:47 字數 1107 閱讀 9743

時間限制: 1 sec  

記憶體限制: 2 mb

提交: 8  

解決: 3

若乙個線性表l採用順序儲存結構,其中元素都為整數。設計乙個演算法,刪除元素值在[x,y]之間的所有元素,要求演算法的時間複雜度為o(n),空間複雜度為o(1). 

順序表定義為:

typedef struct

sqlist;

需編寫的演算法為:

bool delete(sqlist *&l,elemtype x,elemtype y);

輸入的第一行代表線性表的長度n,n<=sizemax。第二行輸入n個元素並插入到線性表中,第三行輸入兩個整數x,y,確定區間。

輸出的資料佔兩行,第一行是刪除之後線性表的長度length,接下來的一行是線性表中的每個元素。

10

5 3 6 2 1 9 8 7 4 0

3 7

5

2 1 9 8 0

1、請使用c++編譯並提交

2、只需提交刪除區間內元素演算法的部分

3、注意區間端點值是否合理

演算法部分:

bool delete(sqlist *&l,elemtype x,elemtype y)

return true;

}

完整**:

#include #include #define sizemax 10000

typedef int elemtype;

typedef struct

sqlist;

void createlist(sqlist *&l,elemtype n)

bool delete(sqlist *&l,elemtype x,elemtype y)

return true;

}void print(sqlist *l)

void destroylist(sqlist *&l)

int main()

YTU 2986 刪除區間內的元素(線性表)

時間限制 1 sec 記憶體限制 2 mb 提交 8 解決 3 若乙個線性表l採用順序儲存結構,其中元素都為整數。設計乙個演算法,刪除元素值在 x,y 之間的所有元素,要求演算法的時間複雜度為o n 空間複雜度為o 1 順序表定義為 typedef struct sqlist 需編寫的演算法為 bo...

oj2986刪除指定區間內的資料(鍊錶操作)

問題描述 刪除指定區間內的資料 鍊錶操作 問題描述 刪除指定區間內的資料 鍊錶操作 include include int a 10000 typedef int elemtype typedef struct lnode 單鏈表結構體 linklist void iinitlist linklis...

刪除區間內的元素(線性表)

time limit 1 sec memory limit 2 mb submit 95 solved 29 submit status web board 若乙個線性表l採用順序儲存結構,其中元素都為整數。設計乙個演算法,刪除元素值在 x,y 之間的所有元素,要求演算法的時間複雜度為o n 空間複...