NC14661 简单的数据结构

题目

  • 原题地址:简单的数据结构
  • 题目编号:NC14661
  • 题目类型:双端队列
  • 时间限制:C/C++ 1秒,其他语言2秒
  • 空间限制:C/C++ 131072K,其他语言262144K

1.题目大意

  • 双端队列的应用

2.题目分析

  • 学习一种新的数据结构

3.题目代码

#include <bits/stdc++.h>

using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    deque<int> dq;
    for(int i=0;i<m;i++)
    {
        int t;
        cin >> t;
             if(t==1) cin >> t, dq.push_front(t);    // 1. 队首插入元素
        else if(t==2) dq.pop_front();                // 2. 队首删除元素
        else if(t==3) cin >> t, dq.push_back(t);     // 3. 队尾插入元素
        else if(t==4) dq.pop_back();                 // 4. 队尾删除元素
        else if(t==5) reverse(dq.begin(), dq.end()); // 5. 翻转双端队列
        else if(t==6) {                              // 6. 遍历双端队列
            cout << dq.size() << endl;
            for(int i=0;i<dq.size()-1;i++) cout << dq[i] << ' ';
            cout << dq[dq.size()-1] << endl;
        } else if(t==7) sort(dq.begin(), dq.end());  // 7. 排序双端队列
    }
}
posted @ 2022-08-25 13:04  仪战群儒  阅读(15)  评论(0)    收藏  举报