/*cb01a_c++_数据结构_顺序容器_STL_deque类
deque是一个动态数组,比vector更加灵活.两者都属于动态数组
deque与vector非常类似
deque可以在数组开头和末尾插入和删除数据
vector只能在数组的末尾插入和删除数据

distance算法
size_t nOffset = distance(a.begin(),iElementLocater);//计算a.begin()与iElementLocator之间的距离
a.begin()位置不变,iElementLocator在变化,所以就可以用在做下标。
*/

 /*cb01a_c++_数据结构_顺序容器_STL_deque类
deque是一个动态数组,比vector更加灵活.两者都属于动态数组
deque与vector非常类似
deque可以在数组开头和末尾插入和删除数据
vector只能在数组的末尾插入和删除数据 distance算法
size_t nOffset = distance(a.begin(),iElementLocater);//计算a.begin()与iElementLocator之间的距离
a.begin()位置不变,iElementLocator在变化,所以就可以用在做下标。
*/ #include <iostream>
#include <deque>
#include <algorithm>//算法 using namespace std; int main()
{
deque<int> a;
a.push_back();
a.push_back();
a.push_back();
a.push_front();
a.push_front();
a.push_front(); for (size_t nCount = ; nCount < a.size(); ++nCount)
{
cout <<"a["<<nCount<<"]=" << a[nCount] << endl;
}
//
cout << endl; a.pop_front();//删除前面的数据
a.pop_back();//删除后面的数据
for (size_t nCount = ; nCount < a.size(); ++nCount)
{
cout << "a[" << nCount << "]=" << a[nCount] << endl;
} cout <<"使用distance算法"<< endl;
//使用deque的迭代器,没有下标
deque<int>::iterator iElementLocater;
for (iElementLocater = a.begin(); iElementLocater != a.end(); ++iElementLocater)
{
size_t nOffset = distance(a.begin(),iElementLocater);//计算a.begin()与iElementLocator之间的距离
cout << "a[" << nOffset << "]=" <<*iElementLocater << endl;
} return ;
}

cb01a_c++_数据结构_顺序容器_STL_deque类的更多相关文章

  1. cb02a_c++_数据结构_顺序容器_STL_list类_双向链表

    /*cb02a_c++_数据结构_顺序容器_STL_list类_双向链表实例化std::list对象在list开头插入元素在list末尾插入元素在list中间插入元素,插入时间恒定,非常快.数组:中间 ...

  2. cb03a_c++_数据结构_顺序容器_STL_stack

    /*cb03a_c++_数据结构_顺序容器_STL_stack堆栈:LIFO--Last In First Out后进先出,用于系统程序设计自适应容器(容器适配器),不是独立的容器,是一个适配器栈适配 ...

  3. C _数据结构 _线性表的顺序存储

    #ifndef __MY_SEQLIST_H__ #define __MY_SEQLIST_H__ typedef void SeqList; typedef void SeqListNode; // ...

  4. 中软酒店管理系统CSHIS操作手册_数据结构_数据字典

    https://wenku.baidu.com/view/f6ca11f5ee06eff9aef807cb.html

  5. cb16a_c++_顺序容器的选用_排序_二分查找

    /*cb16a_c++_顺序容器的选用_排序_二分查找顺序容器: 1.vector的优点与缺点 vector优点:排序利用下标,快速排序,做二分查找非常快 2.list的优点与缺点 list优点:插入 ...

  6. cb06a_c++_顺序容器的定义

    /*cb06a_c++_顺序容器的定义顺序容器:vector,数组,尾端操作数据,快速随机访问list 链表,快速插入数据deque数组,双端-首尾操作数据,方便两端的数据访问 顺序容器适配器:sta ...

  7. cb22a_c++_标准模板库_STL_map_multimap红黑树(数据结构)关联容器

    cb22a_c++_标准模板库_STL_map_multimap红黑树(数据结构)关联容器map(映射,key不能重复,一对一对的,value_type(1, "one")),mu ...

  8. cb14a_c++_顺序容器的操作7_赋值与交换(swap)_vector转list

    cb14a_c++_顺序容器的操作7_赋值与交换(swap) vector数据赋值给list, slist.assign(svec.begin(), svec.end());//这样可以转 svec- ...

  9. ca13a_c++_顺序容器的操作6删除元素

    /*ca13a_c++_顺序容器的操作6删除元素c.erase(p) //删除迭代器p指向的位置c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括c.clear()//删 ...

随机推荐

  1. 搭建本地的yum仓库-较简单

    1.创建目录安装软件程序 1.在/root路径下创建123.sh文件,把此文件复制到123.sh里,  sh 123.sh2.首选安装nginx,作为web展示 3.强力清除老版本残留rpm -e n ...

  2. python3.7 64bit安装pygame1.9.3

    https://blog.csdn.net/xiaolixi199311/article/details/79209506/

  3. 四、Spring-面向切面编程

    内容 面向切面编程基本原理 通过POJO创建切面 使用@AspectJ注解 为AspectJ切面注入依赖 关键词 横切关注点(cross-cutting concern) 继承 (inheritanc ...

  4. 【Mathtype】安装Mathtype后,word无法粘贴的问题

    Win10安装mathtype后,word工具栏中自动添加mathtype的选项(mathtype为了使用户更加方便使用,故自动添加),但是却导致word无法粘贴.如何解决该问题? [方案1]官网描述 ...

  5. json工具--org.json.jar

    org.json可以解析json.把对象包装成json.API文档:http://resources.arcgis.com/en/help/arcobjects-java/api/arcobjects ...

  6. 关于CAS单点登录配置文件误修改导致的JSP报错问题

    weblogic环境下搭建CXF环境时,为了避免CAS拦截webservice服务URL所以设置CAS为不拦截,无修改了CAS配置的其它地方导致工程启动正常,一旦访问就会报JSP的错误. [Servl ...

  7. Spring IoC componet-scan 节点解析详解

    前言 我们在了解 Spring 容器的扩展功能 (ApplicationContext) 之前,先介绍下 context:componet-scan 标签的解析过程,其作用很大是注解能生效的关键所在. ...

  8. Jenkins漏洞利用复现

    一.未授权访问 访问url: http://172.16.20.134:8080/script 命令执行 println "ls -al".execute().text 也可以利用 ...

  9. “造轮运动”之 ORM框架系列(一)~谈谈我在实际业务中的增删改查

    想想毕业已经快一年了,也就是大约两年以前,怀着满腔的热血正式跨入程序员的世界,那时候的自己想象着所热爱的技术生涯会是多么的丰富多彩,每天可以与大佬们坐在一起讨论解决各种牛逼的技术问题,喝着咖啡,翘着二 ...

  10. Chisel3 - model - UserModule commands

    https://mp.weixin.qq.com/s/0ECca6XyFyEri0B4ckOZ4A   介绍UserModule类中,如何管理构建硬件模型所需的命令.   ​​   1. _comma ...