【NC14661】简单的数据结构

题目

简单的数据结构

模拟,双端队列

思路

题目就是让我们实现一个双端队列。这里偷了个懒,直接使用 S T L STL STL 封装的双端队列。

代码

cpp 复制代码
#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;
}
相关推荐
haoly19891 分钟前
数据结构和算法篇-线性查找优化-移至开头策略
数据结构·算法·移至开头策略
earthzhang20214 小时前
【1007】计算(a+b)×c的值
c语言·开发语言·数据结构·算法·青少年编程
冷徹 .8 小时前
2024ICPC区域赛香港站
数据结构·c++·算法
韧竹、9 小时前
数据结构之顺序表
c语言·数据结构
努力努力再努力wz13 小时前
【C++进阶系列】:万字详解智能指针(附模拟实现的源码)
java·linux·c语言·开发语言·数据结构·c++·python
敲代码的嘎仔13 小时前
JavaWeb零基础学习Day2——JS & Vue
java·开发语言·前端·javascript·数据结构·学习·算法
yacolex14 小时前
3.3_数据结构和算法复习-栈
数据结构·算法
cookqq15 小时前
MongoDB源码delete分析oplog:从删除链路到核心函数实现
数据结构·数据库·sql·mongodb·nosql
ʚ希希ɞ ྀ15 小时前
用队列实现栈---超全详细解
java·开发语言·数据结构
要一起看日出15 小时前
数据结构-----栈&队列
java·数据结构··队列