0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C++中STL容器中的常见容器及基本操作

科技绿洲 来源:Linux开发架构之路 作者:Linux开发架构之路 2023-11-10 11:23 次阅读

一、什么是容器?

  • 所谓容器,就是可以承载,包含元素的一个器件,它是STL六大组件之一,是容器、算法、迭代器中最重要也是最核心的一部分。

二、STL中各大容器的结构与分类

2.1 顺序性容器

2.1.1 什么是顺序性容器?

顺序性容器就是将一组具有相同类型的元素以严格的线性形式组织起来

2.1.2 有哪些顺序性容器?

这里给大家整理成了一个表格的形式,如下表所示

容器简介说明
vector可变大小数组。相当于数组,可动态构建,支持随机访问,无头插和尾插,仅支持inset插入,除尾部外的元素删除比较麻烦。但使用最为广泛
deque双端队列。支持头插、删,尾插、删,随机访问较vector容器来说慢,但对于首尾的数据操作比较方便
list双向循环链表。使用起来很高效,对于任意位置的插入和删除都很快,在操作过后,以后指针、迭代器、引用都不会失效
forward_list单向链表。只支持单向访问,在链表的任何位置进行插入/删除操作都非常快
array固定数组。vector的底层即为array数组,它保存了一个以严格顺序排列的特定数量的元素

2.1.3 顺序性容器在什么场合使用?

一般大多数的题目都可以使用vector容器,除非有特定需求使用其他容器更加合理方便;

如果需要在一串数字的头尾进行操作,偏向deque,对于较中间的元素操作,不推荐

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 容器
    +关注

    关注

    0

    文章

    495

    浏览量

    22061
  • C++
    C++
    +关注

    关注

    22

    文章

    2108

    浏览量

    73632
  • STL
    STL
    +关注

    关注

    0

    文章

    86

    浏览量

    18320
  • 数组
    +关注

    关注

    1

    文章

    417

    浏览量

    25941
收藏 人收藏

    评论

    相关推荐

    c++之list容器

    list是序列容器,允许在序列的任何位置执行固定O(1)时间复杂度的插入和删除操作,并在两个方向进行迭代。list容器是一个双向循环链表。
    的头像 发表于 07-15 08:53 1406次阅读
    <b class='flag-5'>c++</b>之list<b class='flag-5'>容器</b>

    C++STL算法(二)

    C++STL算法(二)
    的头像 发表于 07-18 14:49 1037次阅读
    <b class='flag-5'>C++</b>之<b class='flag-5'>STL</b>算法(二)

    c++STL算法(三)

    c++STL算法(三)
    的头像 发表于 07-18 15:00 1280次阅读
    <b class='flag-5'>c++</b>之<b class='flag-5'>STL</b>算法(三)

    C++零基础教程STL容器篇之stack容器,轻松上手C++STL

    编程语言C++语言
    电子学习
    发布于 :2023年01月14日 11:27:23

    C++零基础教程STL容器篇之queue容器,轻松上手C++STL

    编程语言C++语言
    电子学习
    发布于 :2023年01月14日 11:41:21

    C++零基础教程STL容器篇之deque容器,轻松上手C++STL

    编程语言C++语言
    电子学习
    发布于 :2023年01月14日 11:41:55

    容器常见失效模式和失效机理【

    `电容器常见失效模式和失效机理【】3.2电容器失效机理分析3.2.1潮湿对电参数恶化的影响空气湿度过高时,水膜凝聚在电
    发表于 11-18 13:18

    浅析嵌入式Linux容器技术

    提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组
    发表于 10-27 08:56

    详细剖析C++的的3种容器

    容器是随着面向对象语言的诞生而提出的,容器类在面向对象语言中特别重要,甚至它被认为是早期面向对象语言的基础。在现在几乎所有的面向对象的语言中也都伴随着一个容器集,在C++
    的头像 发表于 01-09 12:57 4959次阅读
    详细剖析<b class='flag-5'>C++</b>的的3种<b class='flag-5'>容器</b>

    C++容器的使用代码资料总结免费下载

    本文档的主要内容详细介绍的是C++容器的使用代码资料总结免费下载。
    发表于 01-29 10:52 3次下载
    <b class='flag-5'>C++</b><b class='flag-5'>容器</b>的使用代码资料总结免费下载

    一文带你手撕 STL 容器源码(上)

    前言源码之前,了无秘密。 在 STL 编程容器是我们经常会用到的一种数据结构,容器分为序列式容器和关联式
    的头像 发表于 04-30 15:59 1427次阅读
    一文带你手撕 <b class='flag-5'>STL</b> <b class='flag-5'>容器</b>源码(上)

    C++STL容器

    前面跟大家介绍过STL库,STL主要是由6大部分组成,其中第一个提到的就是容器容器在介绍STL中小哥有简单的跟大家介绍过,今天稍微再详细介
    的头像 发表于 02-21 10:55 1207次阅读
    <b class='flag-5'>C++</b>之<b class='flag-5'>STL</b>库<b class='flag-5'>中</b>的<b class='flag-5'>容器</b>

    C++学习笔记之顺序容器

    C++的顺序容器是一种用于存储和管理元素序列的数据结构。它们提供了一组有序的元素,并支持在序列的任意位置插入和删除元素。C++标准库中提供了多种顺序
    的头像 发表于 05-11 17:05 595次阅读

    C++入门之通用算法

    C++ 是一种强大的编程语言,它提供了许多通用算法,可以用于各种容器类型。这些算法是通过迭代器来操作容器的元素,因此它们是通用的,可以用于
    的头像 发表于 05-17 09:40 667次阅读

    使用C++ sort函数对vector进行自定义排序

    今天在学一些C++ STL容器,看到sort函数允许自定义排序规则,小小地实操了一下。
    的头像 发表于 07-22 10:12 1664次阅读