✅作者简介:一名即将大三的计科专业学生,为C++,Java奋斗中 ✨个人主页:叶落秋白的主页 🔥系列专栏:C++STL快速上手 📃推荐一款模拟面试、刷题神器👉注册免费刷题
🔥前言
上一次分享的是string容器的概念、基本使用和常用方法,在这之后我们来学习一个算法题中C++语言最火的一个容器——vector,学习vector容器的底层概念并且会使用构造和他的的常用方法,让我们深入了解vector容器然后刷些C++算法题充实自己吧!
文章目录
vector容器的概念模型
- vector容器的概念模型
- vector容器的基本操作
- 构造函数
- 赋值操作
- 容量和大小
- 插入和删除
- 数据存取
- 互换容器
- 预留空间
- 📃结语
vector容器是一个单端数组(一般默认前端是封闭的)
- 示意图
vector和数组的区别
- 普通数组是静态空间,而vector可以进行动态扩展
- 动态扩展过程
并不是直接在原有空间中进行扩容,而是找到一个
更大的空间,将原有数据拷贝到大空间内,并释放原有的空间 - vector容器的迭代器是支持
随机访问的迭代器(功能强大)- 常用迭代器
- 常用迭代器
v.begin()和v.end()分别代表容器的第一个元素和最后一个元素的下一个位置;v.rbegin()和v.rend()则分别代表最后一个元素和第一个元素前面的位置;insert()用来把元素插入到容器内
包括构造方法、赋值、计算容量和大小、插入删除等
构造函数- 创建vector容器的方法
函数原型:
vector v;其中T是泛型,用来存放数据类型,这是默认构造函数,较为常用vector(v.begin(),viend());将[v.begin(),v.end)前闭后开的区间内的元素拷贝给本身容器vector(n,elem);构造函数将n个elem值拷贝给本身容器vector(const vector &ans);拷贝构造函数
代码示例:
void printVector(vector& v)
{
for (vector::iterator it = v.begin(); it != v.end(); it++)
{
cout
关注
打赏
热门博文
- 【Java】设计模式之单例模式与工厂模式
- 【Java面试宝典】线程安全问题|线程死锁的出现|线程安全的集合类
- 【Rust指南】错误的分类与传递|使用kind进行异常处理
- 【Servlet】规范项目结构|基于Mysql+JDBC+Servlet 制作简易网页|实现登录、添加、删除、显示的功能
- 【C语言】规范掌握C语言函数|数组名的妙用|指针快速入门|综合使用小案例
- 【Servlet】超详细开发步骤|在idea上配置Tomcat|网页显示当前系统时间
- 新学期,新FLAG | 要以码为梦而非夜郎自大
- 猿创征文 | 【Rust指南】枚举类与模式匹配精讲
- 牛客网《剑指offer》专栏刷题练习之二叉树合集
- 开学季&河科大社区活动详情介绍实例
