栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【算法常用STL】vector

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【算法常用STL】vector

文章目录

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737796.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号