目录
vector 容器基础操作及用法
一:定义及初始化
二:添加数据
三:删除数据
vector 容器基础操作及用法
C++STL是一个非常强大的容器库,其中 vector 是最为常用也较为方便的容器之一,下面主要介绍一下 vector 的一些基础操作。
一:定义及初始化
vector <type> v;
type 是你要存储进容器中的数据的类型,比如 int、string、当然也可以是自定义类型……,注意存储的数据类型必须保持一致。
vector<int> v(10,1);
如上面的一行代码所示,定义了一个 int 型的容器 v,它的 size 是10,且初始化每个元素的初始值为1。
二:添加数据
将数据存储进 vector 容器中,一般使用的都是 push_back(),将数据添加到 vector 数组末端,除非要在某个位置插入数据,否则,就尽量不要使用 insert(),因为有一些易错点,会导致程序运行错误。
vector<int> v;
v.push_back(1);
用 insert ()插入数据时要注意括号里的参数不可以写成 int 型,而是指向要插入位置的迭代器。
vector<int> v;
//…… …… …… …… …… …… …… …… ……
v.insert(v.begin()+m,n);
这表示在下标为 v.begin()+m 的位置上插入 int 型数据 n。
三:删除数据
删除数据用的是erase()函数,可以删除一个或者一段元素。
若删除一个元素,erase(iterator position),括号内为指向要删除位置的迭代器,并返回删除元素的下一个元素的迭代器。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v;
for(int i=0;i<10;i++)
v.push_back(i);
v.erase(v.begin()+2);
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
}
运行结果如下
若删除一段元素,erase(iterator first,iterator last),删除从 first 到 last (不包含 last),并返回 last 位置迭代器。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v;
for(int i=0;i<10;i++)
v.push_back(i);
v.erase(v.begin()+1,v.begin()+5);
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
}
运行结果如下