#include<vector>
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
///自定义sort排序方法
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);
///用下标的方式访问vector元素
printf("用下标的方式访问vector元素:\n");
cout << v[0] << " " << v[1] << " " << v[2] << endl;
///用迭代器的方式访问vector元素
printf("用迭代器的方式访问vector元素:\n");
///定义迭代器变量
vector<int>::iterator it;
for(it = v.begin();it != v.end();it++){
///输出迭代器上的元素值
cout << *it << " ";
}
printf("\n");
///元素的插入
///在最前面插入新元素,元素值为8
v.insert(v.begin(),8);
///在第二个元素前插入新元素1
v.insert(v.begin()+2,1);
///在向量末尾追加新元素3
v.insert(v.end(),3);
printf("插入后的元素值\n");
///vector<int>::iterator it;
for(it = v.begin();it < v.end();it++){
cout << *it << " ";
}
printf("\n");
///元素的删除
///删除第二个元素,从0开始计数
v.erase(v.begin()+2);
///输出删除后的结果
///vector<int>::iterator it;
printf("删除第二个元素:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
///删除第一到三个元素
v.erase(v.begin()+1,v.begin()+3);
///输出删除后的结果
///vector<int>::iterator it;
printf("删除第一到三个元素:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
///清空向量
v.clear();
///输出向量大小
printf("向量大小:\n");
cout << v.size() << endl;
///使用reverse反向排列算法
///给向量赋值
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");
///使用sort算法对向量排序
///输出排序前的向量
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排序方法(降序)
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;
}
vector向量容器
最新推荐文章于 2021-11-21 23:39:53 发布
8583

被折叠的 条评论
为什么被折叠?



