vector容器常用方法
创始人
2025-05-30 22:54:20
0

vector


  1. 初始化:
    vectorsvectorsvectors
    这样是不提前分配空间的定义,这时候输出s.size()的值是0
    这时候我们不可以通过s的索引来访问s内的元素,只能通过s.push_back(x)函数或者s.insert(posion, x)来自动扩容,扩容后我们就可以通过下标来访问里面的元素了
    vectors(100)vectors(100)vectors(100)
    这是提前分配内存的写法,这样就是提前给s了100个int的内存,然后这时候我们输出s.size()的值会是100,并且可以i通过索引访问0到99之间的值,但值都是0,也可以赋值初始化就是在100后面再加一个参数,就是这一百个元素的初值

  2. 存数
    可以s.push_back(x),末尾插入一个元素
    s.insert(posion, x)在迭代器posion前插入x,注意这里的第一个参数是迭代器,类似于s.begin()
    也可以通过数组下标来存值s[1] = 3;

  3. 删除
    s.erase(posion) 删除迭代器在posion位置的数
    s.pop_back()就是删除最后一个值

  4. 查询
    查询一个值可以直接用索引查
    也可以用方法查询特定位置的值
    s.front()就是第一个值
    s.back()就是最后一个值

  5. 常配合使用的函数有lower_bound(), sort()
    lower_bound可以查看我关于lower_bound的题解
    链接
    返回s中不小于x这一特定值的迭代器
    lower_bound(s.begin(), s.end(), x);
    给s中的元素排序
    sort(s.begin(), s.end(), cmp);
    cmp这是个自定义排序的函数实现方法:
    bool cmp(int x, int y)
    {
    return x > y;降序排序(可自定义)
    }
    不写第二个参数的话就是默认升序

相关内容

热门资讯

【数据结构】链队列的C语言实现 队列 1.队列的概念 队列 和栈一样,是一个 特殊的线性表。 队列只允许在一端进行插入...
中国定制版希尔顿花园酒店开业,... 希尔顿集团旗下高端精选服务酒店品牌——希尔顿花园酒店5月28日宣布,其全新升级、专为中国市场定制的“...
人民日报:保护生态环境必须依靠... 用最严格制度、最严密法治保护生态环境,不断提高生态环境领域国家治理体系和治理能力现代化水平 生态环境...
【Docker】P2 Dock... Docker 命令小全Docker 服务相关命令启动docker服务停止docker服务重启dock...
用ChatGPT解读非结构化数... 许多现代数据系统都依赖于结构化数据,例如 Postgres DB 或 Snowflak...
GuLi商城-SpringCl... GitHub - alibaba/spring-cloud-alibaba: Spring Clou...
Android12之OpenS... 代码示例 SLObjectItf player;static SLEngineItf Engine...
肱动脉穿刺技术并发症,预防,护... 宏动脉穿刺是一种介入性操作技术,通常在患者的大腿或股动脉上进行,用于获取...
【nginx实战】nginx实... 前言 大家好,我是沐风晓月,本文首发于csdn 博客专栏【linux基本...
恩里克带巴萨巴黎均获三冠王 赛... 北京时间今天凌晨结束的欧冠决赛,巴黎圣日耳曼5-0大胜国际米兰,夺得队史首座欧冠,至此球队在本赛季拿...