标准库类型vector表示对象的集合,其中所有对象的类型都相同。
vector是一个类模板。
初始化vector的方法
方式 | 含义 |
---|---|
vector< T > v1 | v1是一个空vector,它潜在的元素是T类型,执行默认的初始化 |
vector< T > v2(v1) | v2中包含有v1所有元素的副本 |
vector< T >v2=v1 | 等价于v2(v1),v2中包含的有v1所有元素的副本 |
vector< T >v3(n,val) | v3包含了n个重复的元素,每个元素的值都是val |
vector< T >v4(n) | v4包含了n个重复执行了值初始化的对象 |
vector< T >v5{a,b,c…} | v5包含了初始化个数的元素,每个元素被赋予相应的初始值 |
vector< T >v5={a,b,c,…} | 等价于v5{a,b,c…} |
vector的操作
操作 | 含义 |
---|---|
v.push_back(t) | 向vector对象中添加一个值为t的元素 |
v.empty() | 如果v不含有任何元素,则返回true,否则返回false |
v.size() | 返回v中元素的个数 |
v[n] | 返回v中第n个位置上元素的引用 |
v1=v2 | 用v2中元素的拷贝替换v1中的元素 |
v1={a,b,c…} | 用列表中的元素拷贝替换v1中的元素 |
v1==v2 | v1和v2相等当且仅当它们的元素数量相同且对应位置的元素值都相同 |
v1!=v2 | |
<,<=,>,>= | 以字典顺序进行比较 |
#include <cstdio>
#include<vector>
using namespace std;
int main()
{
vector<int>v(10,1);
vector<int>v2;
v2=v ;
v2[5]=5;
for(int i=0;i<v.size();i++){
printf("%d\n",v[i]);
}
printf("-----------\n");
for(int i=0;i<v.size();i++){
v2.push_back(2);
}
printf("-----------\n");
for(int i=0;i<v2.size();i++){
printf("%d\n",v2[i]);
}
return 0;
}
输出结果:
1
1
1
1
1
1
1
1
1
1
-----------
-----------
1
1
1
1
1
5
1
1
1
1
2
2
2
2
2
2
2
2
2
2
Process returned 0 (0x0) execution time : 0.194 s
Press any key to continue.