美文网首页
顺序容器

顺序容器

作者: FakeCSer爱去网吧 | 来源:发表于2020-09-04 11:08 被阅读0次

分类

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

使用原则(c++primer)

决定因素:对数据的操作(增删改查)那种占主导地位

  • 首选vector
  • 容器内元素很多,且空间的额外开销很重要->不选链表list和forward_list
  • 要修随机访问元素->vector 或者deque
  • 中间插入和删除->链表list和forward_list
  • 只头尾增删->deque
  • 如果1.只在读取输入时中间插2.之后只随机访问
    1. vector尾插+sort重排
    2. list输入,一旦输入完成,将list拷贝到vector中

常用操作

1.push_back 在数组的最后添加一个数据

2.pop_back 去掉数组的最后一个数据

3.at 得到编号位置的数据

4.begin 得到数组头的指针

5.end 得到数组的最后一个单元+1的指针

6.front 得到数组头的引用

7.back 得到数组的最后一个单元的引用

8.max_size 得到vector最大可以是多大

9.capacity 当前vector分配的大小

10.size 当前使用数据的大小

11.resize 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值

12.reserve 改变当前vecotr所分配空间的大小

13.erase 删除指针指向的数据项

14.clear 清空当前的vector

15.rbegin 将vector反转后的开始指针返回(其实就是原来的end-1)

16.rend 将vector反转构的结束指针返回(其实就是原来的begin-1)

17.empty 判断vector是否为空

18.swap 与另一个vector交换数据
  • deque
  • list
  • forward_list
  • array
  • string

相关文章

  • 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 顺序容器 我们首先学习的是顺序容器,即放进容器...

  • C++常用容器

    C++ 有两类常用容器,分别是顺序容器和关联容器,顺序容器例如vector,list,queue,关联容器例如ma...

网友评论

      本文标题:顺序容器

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