#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
//vector相当于数组,模板类型相当于存放的内容
vector<int> v; //定义一个空vector
vector<int> v2(4); //一个参数时,表示这个vector的大小是4 ,初始化为0
vector<int> v3(2,9); //两个参数时,表示这个vector大小为2,初始化为9
vector<int> v4{1,2,3,4,5}; //定义一个vector,数字为1,2,3,4,5
for(auto x:v2)
cout<<x;
cout<<endl;
cout<<v4[1]<<endl; //取索引为1的
cout<<v4.at(2)<<endl; //取索引为2的
//push_back追加内容
v.push_back(9);
v.push_back(8);
v.push_back(7);
for(auto x:v)
cout<<x;
cout<<endl;
//resize重置大小
v.resize(10); //不赋值默认为0,除了已赋值的,其他元素都为0
v4.erase(v4.begin()); //删除第一个元素
for(auto x:v4) cout<<x;
cout<<endl;
v4.erase(--v4.end()); //删除最后一个元素
for(auto x:v4) cout<<x;
cout<<endl;
//获取第一个元素
vector<int> v5={4,3,5,6,1,7};
cout<<v5.front()<<endl;
cout<<v5[0]<<endl;
cout<<*v5.begin()<<endl;
//获取最后一个元素
cout<<v5.back()<<endl;
cout<<v5[v5.size()-1]<<endl;
cout<<*--v5.end()<<endl;
//排序
sort(v5.begin(),v5.end(),less<int>()); //从小到大
for(auto x:v5) cout<<x;
cout<<endl;
sort(v5.begin(),v5.end(),greater<int>()); //从大到小
for(auto x:v5) cout<<x;
cout<<endl;
//循环
vector<int> v6={3,-6,2,7,-2,5};
for(int i=0;i<v6.size();i++) cout<<v6[i]<<" ";
cout<<endl;
for(vector<int>::iterator it=v6.begin();it!=v6.end();it++) cout<<*it<<" ";
cout<<endl;
for(auto it=v6.begin();it!=v6.end();it++) cout<<*it<<" ";
cout<<endl;
for(auto x:v6) cout<<x<<" ";
cout<<endl;
return 0;
}