013 顺序容器

作者: 赵者也 | 来源:发表于2020-03-14 09:45 被阅读0次

顺序容器类型

类型 说明
vector 可变大小数组。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢
deque 双端队列。支出快速随机访问。在头尾位置插入或删除速度很快
list 双向链表。只支持双向顺序访问。在 list 中任何位置进行插入或删除操作速度都很快
forward_list 单向链表。只支持单向顺序访问。在链表任何位置进行插入或删除操作速度都很快
array 固定大小数组。支持快速随机访问。不能添加或删除元素
string 与 vector 相似的容器,但专用于保存字符。随机访问快。在尾部插入或删除速度快

以下是一些选择容器的基本原则:

  • 除非有很好的理由选择其他容器,否则应使用 vector
  • 如果我们的程序有很多小的元素,且空间的额外开销很重要,则不要使用 list 或 forward_list
  • 如果程序要求随机访问元素,应使用 vector 或 deque
  • 如果程序需要在头尾位置插入或删除元素,但不会在中间位置进行插入或删除操作,则使用 deque
  • 如果程序只有在读取输入时才需要在容器中间位置插入元素,随后需要随机访问元素,则
    —— 首先,确定是否真的需要在容器中间位置添加元素。当处理输入数据时,通常可以很容易地向 vector 追加数据,然后再调用标准库的 sort 函数来重新排列容器中的元素,从而避免在中间位置添加元素
    —— 如果必须在中间位置插入元素,考虑在输入阶段使用 list,一旦输入完成,将 list 中的内容拷贝到一个 vector 中

相关文章

  • 013 顺序容器

    顺序容器类型 类型说明vector可变大小数组。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢deque...

  • C++primer_容器

    九.顺序容器 顺序容器的顺序表示元素插入的顺序 C++标准库容器提供了顺序访问元素的能力,但是不同的容器在以下的操...

  • C++boolan part3_week1

    C++容器的介绍及使用 C++中的容器大致可以分为两个大类:顺序容器和关联容器。顺序容器中有包含有顺序容器适配器。...

  • (十四)C++篇-关联容器map和set

    关联容器和顺序容器的本质差别在于:关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存...

  • [C++ Primer Note8] 顺序容器

    所谓的顺序容器即元素在顺序容器中的顺序与其加入容器时的位置相对应。标准库还定义了几种关联容器,关联容器中元素的位置...

  • 顺序容器

    所有容器类都有共享公共的接口,不同容器按照不同方式对其进行扩展。每种容器都提供了不同性能和功能的权衡 顺序容器:在...

  • 顺序容器

    分类 vector:可变大小数组。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢。deque:双端队列。...

  • 顺序容器

    顺序容器 c++中顺序容器包含三种方法: verctor (可以简单的看作是可以动态调控大小的数组) list...

  • 顺序容器

    所有容器类都共享公共的接口,不同容器按不同的方式进行扩展,这个公共接口使得学习容器更加容器。我们基于这种容器所学习...

  • Java 3 对象容器

    Ref:什么是泛型Java 容器 & 泛型(1):认识容器 3.1 顺序容器 我们首先学习的是顺序容器,即放进容器...

网友评论

    本文标题:013 顺序容器

    本文链接:https://www.haomeiwen.com/subject/ucfeiqtx.html