C++ 容器(STL容器)

容器(container)用于存放数据的类模板。可变长数组、链表、平衡二叉树等数据结构在STL中都被实现为容器。
在使用容器时,即将容器类模型实例化为容器类,会指明容器中存放的元素是什么类型。
容器可以分为两大类:顺序容器关联容器

顺序容器

顺序容器有可变长动态数组vector、双端队列deque、双向链表list
之所以被称为顺序容器,是因为元素在容器中的位置同元素的值无关,即容器是不排序的。

关联容器

关联容器有以下四种:set、multiset、map、multimap。关联容器内的元素是排序的。插入元素时,容器会按一定的排序规则将元素放到适当的位置,因此插入元素时不能指定位置
默认情况下,关联容器中的元素是从小到大排序(或按关键字从小到大排序),而且用<运算符比较元素或关键字大小,也正是因为排好序的,关联容器在查找时具有很好的性能。

成员函数

所有的容器都有以下两个成员函数:

  • int size():返回容器对象元素的个数
  • bool empty():判断容器对象是否为空
  • begin():返回指向容器中第一个元素的迭代器
  • end():返回指向容器最后一个元素后面的位置的迭代器
  • rbegin():返回指向容器中最后一个元素的反向迭代器
  • rend():返回指向容器中第一个元素前面的位置的反向迭代器
  • erase(...):从容器中删除一个或几个元素。
  • clear():从容器中删除所有元素
    如果一个容器是空的,则begin()和end()的返回值是相等的,rbegin()和rend()的返回值也是相等的

顺序容器还有以下常用成员函数:

  • front():返回容器中第一个元素的引用
  • back():返回容器中最后一个元素的引用
  • push_back():在容器末尾添加元素
  • pop_back():删除容器末尾的元素
  • insert(...):插入一个或多个元素

参考:http://c.biancheng.net/view/331.html

posted @ 2020-04-06 22:48  牛犁heart  阅读(479)  评论(0编辑  收藏  举报