您当前的位置: 首页 >  容器

微凉秋意

暂无认证

  • 0浏览

    0关注

    110博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

<C++>vector容器在算法题中应用那么广泛,确定不来深入了解一下吗

微凉秋意 发布时间:2022-07-14 10:35:08 ,浏览量:0

✅作者简介:一名即将大三的计科专业学生,为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容器的方法

函数原型:

  • 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             
关注
打赏
1664596500
查看更多评论
0.0392s