1、认识向量
向量是一个封装了动态大小的顺序容器。可以简单的认为,向量是一个数组范用可以灵活变化的动态数组。
2、STL中的向量vector
(1)创造一个向量:vector<数据类型> 名字;
(2)成员函数:
1)增:push_back(x); //在末尾插入一个x
2)删:pop_back( ); //删除向量最后一个元素
clear( ); //清空向量
3)查:back( ); //返回向量最后一个元素
front( ); //返回向量第一个元素
empty( ); //判断是否为空,是返回true
size( ); //返回向量中元素个数,返回值为无符号整型
4)其他:erase(it); //删除迭代器it指向的元素,返回指向it下一个元素的迭代器
at(i); //访问下标为i的数组元素
```
vector<int> a;//创造了一个空向量a
vector<int>b(n);//创造一个长度为n的向量b
vector<int>c(n,x);//创造一个长度为n的向量c并初始化为x
vector<int>a1={1,2,3};//创造一个向量a1,并赋值为1,2,3
vector<int>a2{1,2,3};//创造一个向量a2,并赋值为1,2,3
vector<int>a3 = vector<int>(3,0);//创造一个向量a3,初始化为长度3,全部赋值为0
vector<int>b[10];//声明了一个长度为10的向量数组
vector< vector<int> > d(10);
for(itn i = 1; i <= 10; i++)
{
a.push_back(i);
}
cout<<a.at(0)<<" ";
cout<<a[0]<<endl;
cout<<a[20];
```
3、vector排序
sort(v.begin(),v.end(),cmp);
v.begin(); 返回一个迭代器(iterator),指向vector的第一个元素。
v.end(); 返回一个迭代器,指向vector的最后一个素的后一个位置。
v.rbegin(); 返回一个迭代器(即reverse的begin)指向最后一个元素。
v.rend(); 返回一个选代器指向第一个元素的前一个位置。