STL学习笔记-deque容器(双端动态数组)
2015-10-21 22:36
691 查看
简介:
vector是动态数组,deque是双端动态数组,即可以在
尾部插入元素,删除元素,又可以在头部插入元素和删除元素
头文件:
#include<deque>
deque很多操作和vector是一样的,特有的操作如下:
front()
back()
push_back()
pop_back()
push_front() //头部插入 特有
pop_front() //头部弹出 特有
查找元素在数组中对应下标的值:
deque<int> d(10);
for(int i = 0; i < d.size(); i++) {
d[i] = i + 1;
}
deque<int>::iterator it = find(d.begin(), d.end(), 2); //用find算法查找2在d中的位置
if(it != d.end()){
cout<<"下标是:"<<distance(d.begin(), it)<<endl; // 用distance算法求相对偏移量
}
vector是动态数组,deque是双端动态数组,即可以在
尾部插入元素,删除元素,又可以在头部插入元素和删除元素
头文件:
#include<deque>
deque很多操作和vector是一样的,特有的操作如下:
front()
back()
push_back()
pop_back()
push_front() //头部插入 特有
pop_front() //头部弹出 特有
查找元素在数组中对应下标的值:
deque<int> d(10);
for(int i = 0; i < d.size(); i++) {
d[i] = i + 1;
}
deque<int>::iterator it = find(d.begin(), d.end(), 2); //用find算法查找2在d中的位置
if(it != d.end()){
cout<<"下标是:"<<distance(d.begin(), it)<<endl; // 用distance算法求相对偏移量
}
相关文章推荐
- 设计模式之行为型模式 - 调用行为的传递问题
- Ruby中的迭代器详解
- Ruby中Block和迭代器的使用讲解
- Lua中的迭代器浅析
- Lua中的迭代器和泛型for介绍
- C#特性-迭代器(上)及一些研究过程中的副产品
- C#迭代器模式(Iterator Pattern)实例教程
- 浅析STL中的常用算法
- STL区间成员函数及区间算法总结
- c++中容器之总结篇
- Lua中的迭代器和泛型for学习总结
- C#特性 迭代器(下) yield以及流的延迟计算
- c++ STL容器总结之:vertor与list的应用
- C++在成员函数中使用STL的find_if函数实例
- ruby 迭代器使用方法
- 使用迭代器 遍历文件信息的详解
- PHP迭代器的内部执行过程详解
- java获取web容器地址的方法
- 关于STL中list容器的一些总结
- C#中使用迭代器处理等待任务