常用方法

使用vector时,要导入include< vector > 头文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
初始化:vector<int> result(nums.size(), 0);
1.push_back 将数据放入vector
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交换数据

vector<int>::iterator 迭代器名; 常用语遍历vector

【注】:
1.要注意end方法,其放回的并不是最后一个元素的指针,而是最后一个元素后一位的指针。
2.使用每个元素和使用数组时一样,可以直接用下标访问。
3.迭代器使用示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <vector>

using namespace std;
int main(int argc, char** argv) {
vector<int> a;
a.push_back(3);
a.push_back(4);
vector<int>::iterator it;
for(it=a.begin();it!=a.end();it++){
printf("%d\n",*it);
}
return 0;
}

使用sort()函数对vector中的元素排序

假设容器中有若干元素:

1
2
vector<int> nums;
sort(nums.begin(),nums.end());//sort函数默认升序排序

【注】:使用sort()要导入algorithm:#include < algorithm >