一、vector
1、基本介绍
在C++中,vector是一个十分有用的序列式容器,它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
2、用法介绍
为了使用vector,必须包含头文件。另,vector属于std命名空间,因此需要通过命名限定,可以有如下三种方式,后两种方式更好,因为未引入的无关的内容。
(1) using namespace std;
(2)using std::vector;
(3)std::vector<int> vec;
vector的基本操作
- vec.begin() //指向迭代器中第一个元素。
- vec.end() //指向迭代器中末端元素的下一个,指向一个不存在元素。 -
- vec.push_back(elem) //在尾部加入一个数据。
- vec.pop_back() //删除最后一个数据。
- vec.capacity() //vector可用空间的大小。
- vec.size() //返回容器中数据个数。
- vec.empty() //判断容器是否为空。
- vec.front() //传回第一个数据。
- vec.back() //传回最后一个数据,不检查这个数据是否存在。
- vec.at(index) //传回索引idx所指的数据,如果idx越界,抛出out_of_range
- vec.clear() //移除容器中所有数据。
- vec.erase(iterator) //删除pos位置的数据,传回下一个数据的位置。
- vec.erase(begin,end) //删除[beg,end)区间的数据,传回下一个数据的位置。注意:begin和end为iterator
- vec.insert(position,elem) //在pos位置插入一个elem拷贝,传回新数据位置。
- vec.insert(position,n,elem) //在pos位置插入n个elem数据,无返回值。
- vec.insert(position,begin,end) //在pos位置插入在[beg,end)区间的数据,无返回值
3、用法示例
这里首先创建一个vector对象:
vector<int> vec;
int为数组元素的类型,vec为动态数组的名字