【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;
}
相关推荐
_wxd66614 分钟前
排序-堆排序(Heap Sort)
数据结构
间歇性努力持续性发呆的野生快乐选手1 小时前
二分模板(整型,浮点型)
数据结构·c++·算法
evans在进步1 小时前
LeetCode 189 轮转数组:三次反转为什么能实现右旋?
数据结构·算法·leetcode
五_谷_丰_登3 小时前
平衡二叉搜索树讲解
数据结构·c++
星星.7223 小时前
【图论】最小生成树|Prim+Kruskal算法
数据结构·c++·算法·图论
_Narcissus_3 小时前
单调栈笔记及例题详解
数据结构·c++·笔记·算法·力扣·单调栈·洛谷
额,不知道写啥。4 小时前
从区间加一次函数到区间加多次函数最值-----区间数据结构与函数的一些东西(《浅谈函数最值的动态维护》的学习笔记)
数据结构·笔记·学习
LuminousCPP4 小时前
数据结构-二叉树(五):查找、销毁与前序序列建树
c语言·数据结构·笔记·二叉树
船厂电气自动化ai大模型15 小时前
AI大模型与数学·第57课 傅里叶全套工具链综合实战:串联级数/连续变换/DFT/FFT,图像、音频、扩散模型完整例题
数据结构·人工智能·深度学习·算法·机器学习