一、概念:
头文件:#include <vector>
vector是一个动态数组,是基本数组的类模板
在尾部添加速度快,在中间插入慢。
二、方法:
(这是我从一个小伙伴那里直接粘贴过来的,能看懂英文的可以直接具体看:
http://www.cplusplus.com/reference/vector/vector/)
1.push_back 在数组的最后添加一个数据
2.pop_back 去掉数组的最后一个数据
3.at 得到编号位置的数据
4.begin 得到数组头的指针
5.end 得到数组的最后一个单元+1的指针
6.front 得到数组头的引用
7.back 得到数组的最后一个单元的引用
8.max_size 得到vector最大可以是多大
9.capacity 当前vector分配的大小
10.size 当前使用数据的大小
11.resize 改变当前使用数据的大小,如果它比当前使用的大,则填充默认值
12.reserve 改变当前vecotr所分配空间的大小
13.erase 删除指针指向的数据项
14.clear 清空当前的vector
15.rbegin 将vector反转后的开始指针返回(其实就是原来的end-1)
16.rend 将vector反转构的结束指针返回(其实就是原来的begin-1)
17.empty 判断vector是否为空
18.swap 与另一个vector交换数据
---------------------
作者:hancunai0017
来源:CSDN
原文:https://blog.csdn.net/hancunai0017/article/details/7032383
三、演示程序:
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, const char * argv[]) {
vector<int> v; // 一个存放int的向量
v.push_back(2); // 从尾部添加
v.push_back(4);
v.push_back(1);
v.push_back(3);
vector<int>::const_iterator i; // 常量迭代器建立
// 输出排序前的数
for(i = v.begin(); i != v.end(); i++) {
cout << *i << ",";
}
cout << endl;
// 排序:默认从小到大
sort(v.begin(), v.end());
// 输出排序后的数
for(i = v.begin(); i != v.end(); i++) {
cout << *i << ",";
}
cout << endl;
return 0;
}
运行结果: