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

2021-07-10 17:05:49 字數 993 閱讀 1545

time limit: 1 sec  

memory limit: 2 mb

submit: 75  

solved: 24

[submit][

status][

web board]

若乙個線性表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、注意區間端點值是否合理

#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()

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

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

順序表的倒置,刪除區間內元素,刪除指定元素 c

配套的順序表實現 將整個順序表倒置 void reverse sqlist l 刪除順序表中在給定值s和t之間的所有元素 bool dels t sqlist l,elemtype s,elemtype t 從有序順序表中刪除s和t之間的所有元素 bool del s t sqlist l,elem...

區間內的真素數

時間限制 1000 ms 記憶體限制 65536 kb 找出正整數m和n之間 n不小於m 的所有真素數。真素數的定義 如果乙個正整數p為素數,且其反序也為素數,那麼p就為真素數。例如,11,13均為真素數,因為11的反序還是為11,13的反序為31也為素數。輸入兩個數m和n,空格間隔,1 m n 1...