vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。 简单理解为:向量Vector是一个能够存放任意类型的动态数组,可以动态改变大小。
常见形式为:vector<datatype> v (尖括号中为元素类型名,它可以是任何合法的数据类型)
vector<T>v1;
判空: v1.empty(); //如果为空返回true,不为空返回false。
返回元素个数: v1.size();
插入元素: v1.push_back(t); //在v1的最后一个元素后新增一个类型为t的元素。
向量间赋值: v1=v2; //把v2元素赋值给v1。
判断等值: v1==v2; //判断v1中元素的值是否等于v2,是就返回true。
(1)sort(a.begin(),a.end()); //对a中的从a.begin()(包括它)到a.end()(不包括它)的元素进行从小到大排列
(2)reverse(a.begin(),a.end()); //对a中的从a.begin()(包括它)到a.end()(不包括它)的元素倒置,但不排列,如a中元素为1,3,2,4,倒置后为4,2,3,1
(3)copy(a.begin(),a.end(),b.begin()+1); //把a中的从a.begin()(包括它)到a.end()(不包括它)的元素复制到b中,从b.begin()+1的位置(包括它)开始复制,覆盖掉原有元素
(4)find(a.begin(),a.end(),10); //在a中的从a.begin()(包括它)到a.end()(不包括它)的元素中查找10,若存在返回其在向量中的位置
A.元素的输入和访问可以像操作普通的数组那样, 用cin>>进行输入,cout<<a[n]进行输出:
#include<bits/stdc++.h> using namespace std ; int main() { vector<int> a(3, 0) ; //大小为3初值为0的向量a cin >>a[2] ; for (int i = 0; i < a.size(); i++) cout << a[i] << " " ; }B.也可以用迭代器进行输出
#include<bits/stdc++.h> using namespace std ; int main() { vector<int> a(3, 0) ; //大小为3初值为0的向量a cin >>a[2] ; vector<int>::iterator it; for (it = a.begin(); it != a.end(); it++) cout << *it; }