顺序容器:

  vector:数组

  list:链表

  deque:双端数组

顺序容器适配器:

  stack:堆栈

  queue:队列

  priority_queue:优先级队列

  deque是一个动态数组
  deque与vector非常类似;
  deque可以在在数组开头和末尾插入和删除数据;

 #include <deque>
#include <algorithm> deque<int>::iterator iElemetnLocater;
for(iElementLocater a.begin();
iElementLocater != a.end();
++iElemetLocater){
//distance函数
size_t nOffert = distance(a.begin(), iElementLocater);
cout << "a["<<nOffset<<"]" <<*iElementLocater << endl; }

  list 类模板:

  vector向量只能在末尾插入数据;
  deque可以在开头和末尾拆入;

  顺序容器 STL list类(双向链表)

    list是一个模板类;
    在list开头插入元素;
    在list末尾插入元素;
    在list中间插入元素;  
    删除list中的元素;
    对list中元素进行反转和排序;

 #include <iostream>
#include <list> using namespace std; int main()
{
std::list<int> a;
std::list<list>::iterator iter; a.push_front(); //头插
a.push_front();
a.push_front();
a.push_front();
a.push_back(); //尾插 iter = a.begin();
++iter;
a.insert(iter, ); //通过迭代器位置的改变来插入数据;
//在末尾拆入4个20
a.insert(a.end(), , ) for(std::list<int>::iterator it=a.begin();
it!=a.end();it++){
std::cout << *it << std::endl;
}
return ;
}
 #include <vector>
#include <list>
#include <deque> using namespace std; int main()
{
vector<string> s_vec;
s_vec.push_back("hello");
s_vec.push_back("c++");
s_vec.push_back("STL"); //利用迭代器,vector初始化list
list<string> slist(s_vec.begin(), s_vec.end()); const list<int>::size_type list_size =;
list<string> slist(list_size, "hello"; list<int> I_list; vector<int> ivec; //默认构造函数
ivec.push_back();
ivec.push_back();
ivec.push_back(); vector<int> ivec2(ivec); //使用ivec初始化ivec2;
vector<int> ivec2(ivec); //使用ivec初始化ivec2; char *words[] = {"stately", "plump", "buck"};
size_t words_size = sizeof(words)/sizeof(char*); //利用指针 数组初始化list容器
list<string> words(words, words+words_size): const list<int>::size_type list_size = ;
list<string> slist(list_size, "hello"); //list里面64个hello;
list<int> ilist(list_size); //ilist默认64个0; vector<Foo> a; //不进行初始化,不用调用Foo的构造函数;
vector<Foo> b(, ); //进行了初始化,而且调用的是带参数的构造函数; vector<vector<string> > lines; //vector里面存放vector
list<vector<string> > list_lines; //list里面存放vector //list<int> ilist(ivec); //Error;
return ;
}

  

STL之顺序容器的更多相关文章

  1. STL之顺序容器 deque 动态数组

    deque是一个动态数组,deque与vector非常类似,vector是一个单向开口的连续线性空间,deque则是双向开口的连续线性空间.两者唯一的区别是deque可以在数组的开头和末尾插入和删除数 ...

  2. STL - 常用顺序容器代码

    不多说,看代码 #include <iostream> #include <vector> #include <deque> #include <list&g ...

  3. C++ 顺序容器基础知识总结

    0.前言 本文简单地总结了STL的顺序容器的知识点.文中并不涉及具体的实现技巧,对于细节的东西也没有提及.一来不同的标准库有着不同的实现,二来关于具体实现<STL源码剖析>已经展示得全面细 ...

  4. C++——STL中三种顺序容器的简要差别

    C++ STL 提供了3个顺序容器 :vector, deque, list Vector动态数组.支持高速訪问:list双向链表,支持高速插入和删除. vector 中的元素是顺序存放的.所以随机訪 ...

  5. STL顺序容器【vector】【deque】【list】

    我们都知道,stl在集装箱船分为两类,订购集装箱和相关的容器. 顺序容器有三种即动态数组vector,双端队列deque,以及链表list (对csdn的文字排版严重吐槽.写好的版发表了就变了) 一: ...

  6. stl中顺序性容器,关联容器两者粗略解释

    什么是容器 首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器.很简单,容器就是保存其它对象的对象 ...

  7. STL顺序容器的基本操作

    容器主要分为:顺序容器和关联容器 顺序容器和关联容器,顺序容器主要有:vector.list.deque等.其中vector表示一段连续的内存地址,基于数组的实现,list表示非连续的内存,基于链表实 ...

  8. STL之如何选择顺序容器

    一.顺序容器的分类 顺序容器:vector向量.list链表.deque双端队列: 优先级最高的是vector向量,它的速度比较快,优点最多: 在程序设计中,容器可以切换: #include < ...

  9. C++ STL 顺序容器--list + 关联容器

    list 双向链表,可以双向遍历,既指向前驱节点,又指向后继但不能随机访问任意元素,可动态增加或者减少元素,内存管理自动完成,增加任何元素都不会使迭代器失效, 删除元素时,除了指向当前被删元素的迭代器 ...

随机推荐

  1. iOS 饼状图

    首先先看一下效果: 一.创建饼状图对象   创建饼状图对象用到类是PieChartView.h, 代码如下: self.pieChartView = [[PieChartView alloc] ini ...

  2. CUG 数学进阶

    题目链接:http://acm.cug.edu.cn/JudgeOnline/contest.php?cid=1047 . . . I 题目链接:http://acm.cug.edu.cn/Judge ...

  3. Servlet url-pattern优先级

    完全匹配>目录匹配>扩展名匹配

  4. python的内置函数bin()

    bin(x) 中文说明:将整数x转换为二进制字符串,如果x不为Python中int类型,x必须包含方法__index__()并且返回值为integer: 参数x:整数或者包含__index__()方法 ...

  5. 64位系统未注册"MSDAORA.1"提供程序

    原因:如错误,64位系统未注册"MSDAORA.1"提供程序 解决:在IIS应用程序池中找到自己的网站,打开高级设置,设置“启用32位应用程序”为“True”即可. 另外还有其他解 ...

  6. java牛人给新人的几点建议

    展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的1 ...

  7. XML中SystemID和PublicID的区别

    http://hi.baidu.com/binboot007/item/1533f91d52113d7c7b5f259c http://supportweb.cs.bham.ac.uk/documen ...

  8. HDU 4569 Special equations (数学题)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4569 题意:给你一个最高幂为4的一元多项式,让你求出一个x使其结果模p*p为0. 题解:f(x)%(p ...

  9. In Action(最短路+01背包)

    In Action Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  10. bulk insert data into database with table type .net

    1. Create Table type in Sqlserver2008. CREATE TYPE dbo.WordTable as table ( [WordText] [nchar]() NUL ...