标签:
我们简单来了解一下STL。STL提供了三种类型的组件:容器、迭代器和算法。容器主要有两类:顺序容器和关联容器。顺序容器(vector、list、deque和string等)是一系列元素的有序集合。关联容器(set、multiset、map和multimap)包括查找元素的键值。迭代器的作用是遍历容器。STL算法库包含四类算法:排序算法、不可变序算法、变序性算法和数值算法。下面就简单介绍一下STL里常用的容器。
1. vector向量容器
vector向量容器不但像数组一样对元素进行随机访问,还能在尾部插入元素,是一种简单、高效的容器,完全可以替代数组。由于vector具有内存自动管理的功能,对于元素的插入和删除,可动态调整所占的内存空间,因此使用时不需要考虑释放空间的问题。使用vector向量容器时,需要包含头文件“vector”。(即#include <vector>)对于vector容器的容量定义,可以事先定义一个固定大小,事后可以随时调整其大小;(例如vector<int> v(10); //定义一个用来存储10个int类型元素的向量容器)也可以事先不用定义其大小,使用push_back()方法从尾部扩张元素,也可以使用insert()在某个元素位置前插入新元素。
vector容器有两个重要的方法,begin()和end()。begin()返回的是首元素位置的迭代器;end()返回的是最后一个元素的下一个元素位置的迭代器。通常在遍历vector所有元素时会用到这两个方法。例如:
vector< int > v(3); vector< int >::iterator it; for (it=v.begin(); it!=v.end(); it++){...} |
标签:
原文地址:http://www.cnblogs.com/i-you/p/4422756.html