题目
简单的数据结构
模拟,双端队列文章来源:https://www.toymoban.com/news/detail-848002.html
思路
题目就是让我们实现一个双端队列。这里偷了个懒,直接使用 S T L STL STL 封装的双端队列。文章来源地址https://www.toymoban.com/news/detail-848002.html
代码
#include <algorithm>
#include <deque>
#include <iostream>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n = 0, m = 0, a = 0, b = 0;
bool flag = false;
cin >> n >> m;
deque<int> dq;
while (m--) {
cin >> a;
if (a == 1) {
cin >> b;
dq.emplace_front(b);
} else if (a == 2) {
dq.pop_front();
} else if (a == 3) {
cin >> b;
dq.emplace_back(b);
} else if (a == 4) {
dq.pop_back();
} else if (a == 5) {
reverse(dq.begin(), dq.end());
} else if (a == 6) {
cout << dq.size() << endl;
flag = false;
for (auto&& x : dq) {
if (!flag) {
cout << x;
flag = true;
} else {
cout << " " << x;
}
}
cout << endl;
} else if (a == 7) {
sort(dq.begin(), dq.end());
}
}
return 0;
}
到了这里,关于【NC14661】简单的数据结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!