【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;
}
相关推荐
浮灯Foden4 小时前
算法-每日一题(DAY13)两数之和
开发语言·数据结构·c++·算法·leetcode·面试·散列表
山顶风景独好8 小时前
【Leetcode】随笔
数据结构·算法·leetcode
科大饭桶9 小时前
C++入门自学Day11-- String, Vector, List 复习
c语言·开发语言·数据结构·c++·容器
Cx330❀11 小时前
【数据结构初阶】--排序(四):归并排序
c语言·开发语言·数据结构·算法·排序算法
艾莉丝努力练剑11 小时前
【C语言16天强化训练】从基础入门到进阶:Day 1
c语言·开发语言·数据结构·学习
番薯大佬12 小时前
编程算法实例-冒泡排序
数据结构·算法·排序算法
ankleless12 小时前
数据结构(03)——线性表(顺序存储和链式存储)
数据结构·考研·链表·顺序表·线性表
KarrySmile12 小时前
Day8--滑动窗口与双指针--1004. 最大连续1的个数 III,1658. 将 x 减到 0 的最小操作数,3641. 最长半重复子数组
数据结构·算法·双指针·滑动窗口·不定长滑动窗口·最大连续1的个数·最长子数组
大阳1231 天前
线程(基本概念和相关命令)
开发语言·数据结构·经验分享·算法·线程·学习经验
FPGA1 天前
探讨4B/5B编码、8B/10B编码区别以及FPGA实现
数据结构