使用Vector需要先在头文件定义#include<vector>
1:通过实例了解如何赋值,添加,删除
#include <iostream>
#include<vector>
using namespace std;
int main()
{
vector<double> v (10,14.12);//定义一个存储10个double类型元素的向量容器,其中的每一个元素都为14.12
v[5]=10.14; //对v[5]进行重新赋值
v[9]=78.10;//对v[9]进行重新赋值
vector<double>::iterator it; //定义迭代器变量it
for(it=v.begin();it!=v.end();it++) //从首元素到最后一个元素的下一个元素位置结束
{
cout << *it << endl;//将这10个double类型的元素输出出来
}
cout<<endl;
v.push_back(2);//将2这个元素从尾部添加到v向量容器中去
v.push_back(5);//将5这个元素从尾部添加到v向量容器中去
v.insert(v.begin()+2,1);//在第二个元素后面插入新元素1(如果前面的代码中在首位加了元素,依然是在第二个元素后加)
v.insert(v.end(),3);//在v向量容器末尾追加新元素3
for(it=v.begin();it!=v.end();it++) //从首元素到最后一个元素的下一个元素位置结束
{
cout << *it << endl;//将这10个double类型的元素输出出来
}
cout<<endl;
v.erase(v.begin()+1,v.begin()+5); //元素从0开始计数,将第2个到第5个元素给删除掉
for(it=v.begin();it!=v.end();it++)
{
cout<<*it<<endl;
}
cout<<endl;
v.clear(); //将v这个向量容器给清空
cout<<v.size()<<endl; //输出v这个向量容器的大小
return 0;
}
代码运行结果:
14.12
14.12
14.12
14.12
14.12
10.14
14.12
14.12
14.12
78.1
14.12
14.12
1
14.12
14.12
14.12
10.14
14.12
14.12
14.12
78.1
2
5
3
14.12
14.12
10.14
14.12
14.12
14.12
78.1
2
5
3
0
Process returned 0 (0x0) execution time : 0.065 s
Press any key to continue.
代码运行结果
2:反向排列
#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
vector<int>v(10,1); //定义一个整形的大小为10个元素且均为1的v向量容器
vector<int>::iterator it; //定义迭代器变量it
for(int i=0;i<10;i++) //将v向量容器进行重新赋值9~0;
{
v[i]=i;
}
for(it=v.begin();it!=v.end();it++) //遍历输出v向量容器
{
cout<<*it<<" ";
}
cout<<endl;
reverse(v.begin(),v.end()); //反向排列向量的从首到尾之间的元素
for(it=v.begin();it!=v.end();it++) //遍历输出v向量容器
{
cout<<*it<<" ";
}
cout<<endl;
return 0;
}
运行结果:
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
Process returned 0 (0x0) execution time : 0.016 s
Press any key to continue.
3:sort排序(默认为升序)
#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
vector<int>v(10,1); //定义一个整形的大小为10个元素且均为1的v向量容器
vector<int>::iterator it; //定义迭代器变量it
for(int i=0;i<10;i++) //将v向量容器进行重新赋值9~0;
{
v[i]=i;
}
sort(v.begin(),v.end()); //sort函数方法默认情况下对向量容器进行升序排列
for(int j=0;j<10;j++)
{
cout<<v[j]<<" ";
}
cout<<endl;
sort(v.begin(),v.end());
for(int k=9;k>=0;k--)//for循环减法输出实现降序排列
{
cout<<v[k]<<" ";
}
cout<<endl;
return 0;
}