/*关于C++ STL中deque的学习*/
#include<cstdio>
#include<iostream>
#include<deque> using namespace std;
void print(deque<int> d);
void rprint(deque<int> d);
int main()
{
deque<int> dq;
dq.push_back();
dq.push_back();
dq.push_back();
dq.push_back();
cout<<dq.size()<<endl;
cout<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<endl; dq.push_front();
cout<<dq.size()<<endl;
cout<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<endl; dq.insert(dq.begin()+,);
cout<<dq.size()<<endl;
cout<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<" "<<dq[]<<endl; cout<<"##"<<endl;
print(dq);
dq.pop_front();
print(dq); print(dq);
dq.pop_back();
print(dq); print(dq);
dq.clear();
cout<<"##"<<endl;
print(dq);
cout<<"##"<<endl;
return ;
} void print(deque<int> d){
for(int i=;i<d.size();i++){
printf("%d ",d[i]);
}
puts("");
} void rprint(deque<int> d){
for(int i=d.size()-;i>=;i--){
printf("%d ",d[i]);
}
puts("");
}

deque双端队列(常用方法总结)的更多相关文章

  1. deque双端队列容器

    //deque双端队列容器 //deque双端队列容器与vector一样,采用线性表顺序存储结构,但与vector不同的是, //deque采用的分块线性存储结构来存储数据,每块的大小一般为512字节 ...

  2. deque双端队列笔记

    clear()clear()clear():清空队列 pushpushpush_back()back()back():从尾部插入一个元素. pushpushpush_front()front()fro ...

  3. Java 集合深入理解(10):Deque 双端队列

    点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 什么是 Deque Deque 是 Double ended queue (双端队列) 的缩写,读音和 deck 一样,蛋 ...

  4. c++ deque 双端队列

    双端队列: 函数 描述 c.assign(beg,end)c.assign(n,elem)  将[beg; end)区间中的数据赋值给c.将n个elem的拷贝赋值给c. c.at(idx)  传回索引 ...

  5. stl之deque双端队列容器

    deque与vector很相似,不仅能够在尾部插入和删除元素,还能够在头部插入和删除. 只是当考虑到容器元素的内存分配策略和操作性能时.deque相对vector较为有优势. 头文件 #include ...

  6. STL容器:deque双端队列学习

    所谓deque,是"double-ended queue"的缩写; 它是一种动态数组形式,可以向两端发展,在尾部和头部插入元素非常迅速; 在中间插入元素比较费时,因为需要移动其它元 ...

  7. 算法-deque双端队列

    Python的deque模块,它是collections库的一部分.deque实现了双端队列,意味着你可以从队列的两端加入和删除元素 1.基本介绍 # 实例化一个deque对象d = deque()d ...

  8. 括号匹配问题 —— Deque双端队列解法

    题目: 给定一个只包括 '(',')','{','}','[',']'?的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.注意空字符串可 ...

  9. deque(双端队列)

    deque 是对queue的改进,增加了 push_front 和 pop_front 函数 , 和 双向链表作用差不多: 这里就不多讲了.可以参考: List(双向链表)

随机推荐

  1. scikit-FEM-例1-求解Possion边值问题

    """ Author: kinnala Solve the problem -∇²u = 1 with zero boundary conditions on a uni ...

  2. MODBUS串行通信协议详细说明

    第一章  简介 本文详细地描述了装置在MODBUS 通讯模式下的输入和输出命令.信息和数据,以便第三方使用和开发. 1.1 串行通讯协议的目的 通信协议的作用是使信息和数据在上位机主站和装置之间有效地 ...

  3. [LISP] LISP Collections

    lispbox: https://common-lisp.net/project/lispbox/ SBCL: http://sbcl.org/ <Common Lisp in practica ...

  4. poj 3083 Children of th

    #include <iostream> #include<stdio.h> #include<string.h> using namespace std; int ...

  5. Delphi FastReport报表常用方法

    Delphi FastReport报表常用方法   作者及来源: EasyPass - 博客园    收藏到→_→:   摘要: Delphi FastReport报表常用方法       点击这里! ...

  6. (原创)c++中的类型擦除

    c++11 boost技术交流群:296561497,欢迎大家来交流技术. 关于类型擦除,可能很多人都不清楚,不知道类型擦除是干啥的,为什么需要类型擦除.有必要做个说明,类型擦除就是将原有类型消除或者 ...

  7. Linux Buffer/Cache 的区别

      以前经常使用free -h命令来查看当前操作系统的内存使用情况,同时也注意过返回信息中有一列是buff/cache,来公司之前,面试官还问过我这两个的区别,当时没有回答出来,现在特意回顾记录下: ...

  8. MVC中通过ajax判断输入的内容是否重复(新手笔记,请各位多多指教)

    控制器代码: public string ValidateCarID(string carid)//这里接收ajax传递过来的值 { string result; Car car = db.Car.F ...

  9. 【转】javascript深入理解js闭包

    原文:http://www.jb51.net/article/24101.htm 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 一.变量的作 ...

  10. 【Spark调优】:RDD持久化策略

    [场景] Spark对RDD执行一系列算子操作时,都会重新从头到尾计算一遍.如果中间结果RDD后续需要被被调用多次,可以显式调用 cache()和 persist(),以告知 Spark,临时保存之前 ...