C++之容器,迭代器
一.容器
容器是一种数据结构,用于存储相同类型的数据项的集合;
STL容器使用类模板实现。每个类都有特定的成员函数,用于处理这个类中的对象。
1.顺序容器
(1) 向量Vector:随机访问任何一个元素,尾部增删元素;
(2) 双端队列Deque:随机访问,在头部和尾部增删元素;
(3) 链表List:顺序访问,任意位置增删元素。
Vector容器,在头部增加、删除元素,其时间消耗与元素数目成正比,若加载尾部,消耗时间是一个常量。
对于Deque,在头部、尾部增加删除元素的时间,都是常量;
Vector和Deque重载了下标操作符,而list没有,所以Vector和Deque用[]来进行随机访问。
2.关联容器
(1) 集合Set:集合存储不能有重复元素;
(2) 多集合MultiSet:集合存储可以有重复元素;
(3) 映射Map:一对一的键值对(key,value),值可以通过指定的键检索,
其中键(key)可以重复。
顺序容器&关联容器的区别:
(1) 元素存储的顺序不同:
顺序容器:按照插入位置存储;
关联容器:按键本身的值大小来排列ÿ