C++ vector容器小结
什么是vector
通俗的说,vector是一个可以存放任意类型数据的动态数组
特性
容器中的元素严格按照线性顺序排序,可以通过元素在序列中的位置访问对应的元素。
提供了在序列末尾快速添加/删除元素的操作。
动态分配内存。
常用的函数
vector() 创建一个空vector
push_back(x) 在向量尾部添加一个元素x
pop_back() 删除最后一个元素
size() 返回向量中元素的个数
begin() 向量中第一个元素
end() 向量中最后一个元素
编程中常见的用法举例
需要包含头文件#include <vector>
插入和移除数据
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v;//创建向量 v
for(int i=0;i<10;i++)
{
v.push_back(i);//在向量中依次插入 0-9
cout<<v[i]<<" ";
}
cout<<endl;
for(int i=0;i<5;i++)
{
v.pop_back();//去掉最后一个元素
}
int n=v.size();//容器中的元素个数
for(int i=0;i<n;i++)
{
cout<<v[i]<<" ";
}
cout<<endl;
return 0;
}
输出如下:
与排序结合
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> v;
v.push_back(1);
v.push_back(5);
v.push_back(3);
sort(v.begin(),v.end());//从头到尾按从小到大排序
for(int i=0;i<v.size();i++)
{
cout<<v[i]<<" ";
}
cout<<endl;
reverse(v.begin(),v.end());//从头到尾按从大到小排序
for(int i=0;i<v.size();i++)
{
cout<<v[i]<<" ";
}
cout<<endl;
return 0;
}
输出如下:
利用迭代器访问
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v;//创建向量 v
for(int i=0;i<10;i++)
{
v.push_back(i);//在向量中依次插入 0-9
cout<<v[i]<<" ";
}
cout<<endl;
vector<int>::iterator d;//声明一个迭代器来访问vector容器
for(d=v.begin();d!=v.end();d++)
{
cout<<*d<<" ";
}
cout<<endl;
return 0;
}
输出如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a7Ta2BBx-1599741981230)(C:\Users\15631\Desktop\QQ截图20200910204434.png)]
in();d!=v.end();d++)
{
cout<<*d<<" ";
}
cout<<endl;
return 0;
}
输出如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910204705215.png#pic_center)