欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

【算法常用STL】vector

时间:2023-06-06
文章目录

1、vector的定义2、begin() 和 end()3、front 和 back4、如何遍历vector ?5、push_back()和pop_back()6.empty() 和 size()7、clear() 1、vector的定义

vector是一种变长数组*(扩容时倍增),支持随机访问,不支持在任意位置 O(1)。为了保证效率,元素的增删一般应该在末尾进行。

#include#include // 头文件vector a({0,1,2}); //注意定义方式还是和数组不同的vector a; // 相当于一个长度动态变化的int数组vector b[233]; // 相当于第一维长233,第二位长度动态变化的int数组struct rec{…};vector c; // 自定义的结构体类型也可以保存在vector中

2、begin() 和 end()

vector 同数组一样 也是左闭右开

vector a[100]; a.begin() == a[0]a.end()-1 = a[99]

3、front 和 back

vector a({0,1,2}); a.front == 0 //返回首元素的值a.back == 2 //取尾元素的值

4、如何遍历vector ?

//方法一for(int i = 0; i < a.size() ; i ++)//方法二for(auto i = a.begin ; i < a.end ; i ++)//方法三for(int x : a)

5、push_back()和pop_back()

使用O(1)的时间在 vector 尾部 增加 / 删除元素

6.empty() 和 size()
empty() 返回一个bool 值 表示是否为空size() 返回vector 的元素数量
7、clear()

清空vector

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。