#include<vector>
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
bool Comp(const int &a,const int &b){
if(a != b)
return a>b;
else
return a>b;
}
int main(){
vector<int> v;
v.push_back(2);
v.push_back(7);
v.push_back(9);
printf("用下标的方式访问vector元素:\n");
cout << v[0] << " " << v[1] << " " << v[2] << endl;
printf("用迭代器的方式访问vector元素:\n");
vector<int>::iterator it;
for(it = v.begin();it != v.end();it++){
cout << *it << " ";
}
printf("\n");
v.insert(v.begin(),8);
v.insert(v.begin()+2,1);
v.insert(v.end(),3);
printf("插入后的元素值\n");
for(it = v.begin();it < v.end();it++){
cout << *it << " ";
}
printf("\n");
v.erase(v.begin()+2);
printf("删除第二个元素:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
v.erase(v.begin()+1,v.begin()+3);
printf("删除第一到三个元素:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
v.clear();
printf("向量大小:\n");
cout << v.size() << endl;
for(int i = 0;i < 10;i++){
v.insert(v.end(),i);
}
printf("赋值后的元素:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
reverse(v.begin(),v.end());
printf("反向排序后的结果:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
printf("排序前:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
sort(v.begin(),v.end());
printf("排序后:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
sort(v.begin(),v.end(),Comp);
printf("再次排序后:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
printf("输出当前向量大小:\n");
cout << v.size() << endl;
printf("输出是否为空:\n");
cout << v.empty() << endl;
v.clear();
cout << v.empty() << endl;
return 0;
}