STL常用操作之vector篇
简介:
#include<vector>
它是一种容器,可以理解为向量、数组——可以动态申请增加长度的数组。
1.构造
vector<int> v1; //默认数组长度为0
vector<int> v2(4); //申请了长度为4的数组v2
vector<int> v3(4, 5); //申请了长度为4的数组,并且每个位置都赋值为5
2.获取
用at或者[]类似于数组
vector<int> vv{ 1,2,3,4,5 };
cout << vv[1]; //输出的是2
cout << vv.at(2); //输出的是3
cout << vv.front(); //第一个元素
cout << *vv.begin(); //第一个元素
cout << *--vv.end(); //最后一个元素
3.常用函数
vector<int> v1; //默认数组长度为0
v1.push_back(4); //将整形数据4压入到v1
v1.resize(10); //重置v1的长度为10,且每个位置的数据默认为0
v1.begin(); //获得v1开始的位置地址
v1.end(); //获得v1结束位置的后一个位置地址
v1.size(); //获得v1的长度
4.算法
sort排序
#include<algorithm> //sort函数需要引用的头文件
vector<int> v1{ 5,4,3,2,1 };
sort(v1.begin(), v1.end()); //从小到大排序
//sort(v1.begin(), v1.end(), less<int>());
sort(v1.begin(), v1.end(), greater<int>()); //从到到小排序
5.迭代器 循环
vector<int> v1{ 5,4,3,2,1 };
for (int i = 0; i < v1.size(); ++i)
cout << v1[i];
//类似数组遍历
for (vector<int>::iterator it = v1.begin(); it != v1.end(); ++it)
cout << *it;
//迭代器
for (auto it = v1.begin(); it != v1.end(); ++it)
cout << *it;
for (auto it : v1)
cout << it;
//auto万能,但是速度慢
另外,vector还能放char,double,string或者是自定义的struct类型数据,根据自己的需要使用不同的类型。
vector简单使用,适用于像我这样的小白快速上手,大神键下留情!
发现问题欢迎指正!
希望能帮助到你!