数组:
//顶级垃圾程序
#include <bits/stdc++.h>
using namespace std;
int arr[100];
int n, m;
bool isRemove = false;
int main(){
cin >> n;
for (int i = 0; i < n; i++) cin >> arr[i];
cin >> m;
for (int i = 0; i < n; i++){
if (arr[i] == m){
arr[i] = 0;
isRemove = true;
}
if (isRemove) arr[i] = arr[i + 1];
}
for (int i = 0; i < n - 1; i++) cout << arr[i] << ' ';
return 0;
}
双端队列(结果要存在另一个地方):
//顶级垃圾程序
#include <bits/stdc++.h>
using namespace std;
int n, m, cnt, num;
deque<int> dq;
queue<int> que;
int main(){
cin >> n;
for (int i = 0; i < n; i++){
cin >> num;
dq.push_back(num);
}
cin >> m;
for (int i = 0; i < n; i++){
if (dq.front() == m){
dq.pop_front();
continue;
}
que.push(dq.front());
cnt++;
//cout << dq.front() << ' ';
dq.pop_front();
}
for (int i = 0; i < cnt; i++){
cout << que.front() << ' ';
que.pop();
}
return 0;
}