c++之vector常见操作
#include<vector>
#include<string.h>
#include<iostream>
#include<time.h>
#include<stdlib.h>
using namespace std;
int main(){
int size_v=10;
//创建一个向量存储容器 int
vector<int> a;
srand((unsigned)time(NULL));
//初始化vector
int min=1;
int max=20;
//以遍历的方式赋值
for(int i=0;i<size_v;i++){
//生成size_v大小,取值在[min,max]之间的随机数
a.push_back((rand() % (max-min+1))+ min);
}
//在某一位置加入某一元素
a.insert(a.begin()+5,100);
//以数组形式遍历vector
cout<<"数组方式遍历开始:";
for(int i=0;i<a.size();i++){
cout<<a[i]<<",";
}
cout<<endl;
//以迭代器的形式遍历vector
cout<<"迭代器方式遍历开始:";
for(vector<int>::iterator it=a.begin();it!=a.end();it++){
cout<<*it<<",";
}
cout<<endl;
//清除vector中的数
cout<<"删除前的数组大小:"<<a.size()<<endl;
// 清除方式1
for(int i=0;i<size_v;i++){ //不能写成a.size(),这样会导致某些元素无法被删除
cout<<"back2:"<<a.back()<<",";
a.pop_back(); //pop_back删除最后一个数,返回为空
}
cout<<endl;
// // 清除方式2
// for(int i=0;i<size_v;i++){
// cout<<"front3:"<<a.front()<<",";
// a.erase( a.begin() ); //删除迭代器指向的元素
// }
// cout<<endl;
// //删除第5个元素
// a.erase( a.begin()+5 );
// //清除方式3
// a.erase(a.begin(),a.end());
// //清除方式4
// a.clear();
// cout<<"删除后的数组大小:"<<a.size()<<endl;
return 0;
}
参考文献
vector常见操作:https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html
生成随机数: https://www.cnblogs.com/afarmer/archive/2011/05/01/2033715.html