您的位置:首页 > 大数据 > 人工智能

STL学习总结之初入容器

2012-05-09 21:47 281 查看
1.      STL基本观念



2.      vector将其元素置于一个dynamicarray中加以管理。

3.      所有顺序容器提供push_back成员函数,所有容器提供size成员函数。

4.      deque用dynamic array实现。提供push_front成员函数。

5.      list采用双向链表实现。提供push_front、push_back、front、pop_front、back、pop_back成员函数。

6.      string相当于vector<char>,使用方法同vector;array不是容器类型,也不提供迭代器类型,通过下标模拟迭代器,但兼容STL算法;动态数组在c++中不再需要,因为vector相当于动态数组。

7.      关联容器通常都有二叉树实现,具体就是红黑树。set、multiset、map、multimap实现自动排序。

8.      容器适配器共三个:提供特殊用途,stack、queue、priority_queue。

9.      迭代器是一种智能指针,提供了指针的部分通用操作。最终要的迭代器是begin和end;

迭代器有iterator(可读写)和const_iterator(只读)两种。每种容器定义自身的迭代器。

10.  关联容器没有push_back成员函数,通过insert成员函数完成插入操作。

11.  Vector<vector<int>>注意右边的两个>>之间要有空格,否则会被编译器识别为右移位运算符。

12.  make_pair函数返回key/value对组。

13.  map可以使用[]操作符,multimap不可以使用[]操作符。

14.  迭代器分类:双向迭代器和随机存取迭代器。

双向迭代器:提供简单的++与—操作

随机存取迭代器:类似于指针,提供与指针对等的操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息