cb01a_c++_数据结构_顺序容器_STL_deque类
/*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类的更多相关文章
- cb02a_c++_数据结构_顺序容器_STL_list类_双向链表
/*cb02a_c++_数据结构_顺序容器_STL_list类_双向链表实例化std::list对象在list开头插入元素在list末尾插入元素在list中间插入元素,插入时间恒定,非常快.数组:中间 ...
- cb03a_c++_数据结构_顺序容器_STL_stack
/*cb03a_c++_数据结构_顺序容器_STL_stack堆栈:LIFO--Last In First Out后进先出,用于系统程序设计自适应容器(容器适配器),不是独立的容器,是一个适配器栈适配 ...
- C _数据结构 _线性表的顺序存储
#ifndef __MY_SEQLIST_H__ #define __MY_SEQLIST_H__ typedef void SeqList; typedef void SeqListNode; // ...
- 中软酒店管理系统CSHIS操作手册_数据结构_数据字典
https://wenku.baidu.com/view/f6ca11f5ee06eff9aef807cb.html
- cb16a_c++_顺序容器的选用_排序_二分查找
/*cb16a_c++_顺序容器的选用_排序_二分查找顺序容器: 1.vector的优点与缺点 vector优点:排序利用下标,快速排序,做二分查找非常快 2.list的优点与缺点 list优点:插入 ...
- cb06a_c++_顺序容器的定义
/*cb06a_c++_顺序容器的定义顺序容器:vector,数组,尾端操作数据,快速随机访问list 链表,快速插入数据deque数组,双端-首尾操作数据,方便两端的数据访问 顺序容器适配器:sta ...
- cb22a_c++_标准模板库_STL_map_multimap红黑树(数据结构)关联容器
cb22a_c++_标准模板库_STL_map_multimap红黑树(数据结构)关联容器map(映射,key不能重复,一对一对的,value_type(1, "one")),mu ...
- cb14a_c++_顺序容器的操作7_赋值与交换(swap)_vector转list
cb14a_c++_顺序容器的操作7_赋值与交换(swap) vector数据赋值给list, slist.assign(svec.begin(), svec.end());//这样可以转 svec- ...
- ca13a_c++_顺序容器的操作6删除元素
/*ca13a_c++_顺序容器的操作6删除元素c.erase(p) //删除迭代器p指向的位置c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括c.clear()//删 ...
随机推荐
- jupyter 文件夹重命名
jupyter 文件夹 如何重命名嘞?可能很多童鞋没找到吧,哈哈哈 我们先创建一个文件夹,如何创建嘞,往下看. 然后我们就可以看到, 如何重命名呐,注意注意了啊,选中你创建的文件夹,单击Rename. ...
- Java高级特性之集合
Java集合框架 一.Java集合框架概述 1.数组与集合的区别: 1)数组长度不可变化而且无法保存具有映射关系的数据:集合类用于保存数量不确定的数据,以及保存具有映射关系的数据. 2)数组元素既可以 ...
- Java基础语法--java中字符串比较中的坑点
Java 中两个字符串比较大小,可以有两种方式判定,要根据需求选择 == 判定,比较的是两个字符串的内存地址,地址相同则判定为true:反之则反 equals() 判定,比较的是两个字符串的内容,内容 ...
- JavaScript实现树深度优先和广度优先遍历搜索
1.前置条件 我们提前构建一棵树,类型为 Tree ,其节点类型为 Note.这里我们不进行过多的实现,简单描述下 Note 的结构: class Node{ constructor(data){ t ...
- 关于做好ASO工作的十点有效建议
导语: 互联网上关于如何做好ASO的内容多种多样,鱼目混珠.有从数据分析角度的方法论:有从运营工具角度的方法论:也有从实践角度看如何做好的. 本文将“对症下药”,从影响ASO的十大因素出发,整理出一份 ...
- python requests用于测试
https://blog.csdn.net/niedongri/article/details/71404314 https://blog.csdn.net/temanm/article/detail ...
- Spring boot Sample 001之spring-boot-begin-hello
一.环境 1.1.Idea 2020.1 1.2.JDK 1.8 二.目的 初识Spring Boot 三.步骤 3.1.点击File -> New Project -> Spring I ...
- 细说Java多线程之内存可见性笔记
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 说明:多线程的内存可见性涉及到多线程间的数据争用,也涉及到了多线程间的数据可见性 一.共享变量在线程间的 ...
- CPU亲和度
CPU亲和度(CPU Affinity),就是将一个进程或者线程强制绑定在CPU的某一个core上运行. 参考:https://www.cnblogs.com/zhangxuan/p/6427533. ...
- Java实现 LeetCode 657 机器人能否返回原点(暴力大法)
657. 机器人能否返回原点 在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序由字符串表示.字符 move[i ...