赞
踩
互联网行业的小白,写博客的目的是为了记录自己的学习过程、对自己学习中所犯的错误做一个总结。由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!
vector是C++提供的一个容器,它是一个能够存放任意类型的动态数组,可以随时增加和压缩数据。
使用vector时需要注意以下几点:
1. 引入头文件
#include <vector>
2. 创建向量
vector<int> vec;
3. 向量尾部插入元素
vec.push_back(item);
4. 向量尾部弹出元素
vec.pop_back();
5. 访问向量元素
for(int i = 0; i < vec.size(); i++) {
cout << vec[i] << endl;
}
vector<int>::iterator it;
for(it = vec.begin(); it != vec.end(); it++) {
cout << *it << endl;
}
6. 插入元素
vec.insert(vec.begin() + i, item); //在向量的第i+1的位置插入元素item
7. 删除元素
vec.erase(vec.begin() + i); //删除向量的第i+1个元素
8. 向量的大小
vec.size();
9. 其他
vec.front(); //返回向量的第一个元素
vec.back(); //返回向量的最后一个元素
vec.empty(); //检测向量是否为空
vec.clear(); //清空向量
以下算法使用时都需要包含头文件
#include <algorithm>
1. 翻转元素
//将向量中的元素翻转,即逆序排列
reverse(vec.begin(), vec.end());
2. 排序
//将元素以升序排列(由小到大)
sort(vec.begin(), vec.end());
//定义排序比较函数
bool compare(const int &a, const int &b) {
return a > b;
}
//将元素以降序排列(由大到小)
sort(vec.begin(), vec.end(), compare);
3. 查找
//查找向量中的值为10的元素
find(vec.begin(), vec.end(), 10);
4. 复制
//把vec向量中所有元素全部复制到vec_1向量中,从vec_1.begin() + 1 的位置开始复制,覆盖掉原有的元素
copy(vec.begin(), vec.end(), vec_1.begin() + 1);
Set是STL中的一个容器,特点是其中包含
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。