• 顺序容器及其常用函数


    前言

      容器是指容纳特定类型对象的集合。顺序容器则是指该容器根据位置访问保存在其中的对象。Vector,List,Deque是三种常见的容器,本文将归纳这三种容器常用的函数,以备日后查阅。

    描述符说明

      在以下函数解释中,C 表示容器类型名,T表示容器的元素类型,c 表示待创建的/待处理的容器对象,其它描述符则在文中具体位置说明。

    一 容器定义函数

      1. C<T> c

      创建一个空的容器 c

      2. C c( c2 )

      用 容器c2 创建 容器c

      3. C c( b, e )

      用 迭代器 b 和 e 之间的元素创建容器 c。

      下函数4,5仅用于顺序容器:

      4. C c( n, t )

      创建容器 c 并将 c 初始化为一个具有 n 个元素 t 的容器。

      5. C c( n )

      创建容器 c 并将 c 初始化为一个具有 n 个 值初始化元素的容器。

      说明:创建容器对象必须要满足两个条件:

        1. 元素类型必须支持赋值运算

        2. 元素类型的对象必须可以复制

    二 获取迭代器函数

      1. c.begin()

      返回一个指向容器 c 第一个元素的迭代器

      2. c.end()

      返回一个指向容器 c 最后一个元素的下一个元素的迭代器

    三 容器大小函数

      1. c.size()

      返回容器 c 中元素的个数

      2. c.empty()

      返回容器 c 中元素是否为 0 的布尔值

      3. c.resize( n )

      调整容器 c 的长度大小,使其能容纳 n 个元素。若 n < c.size() 则删除多余元素,否则对新元素进行值初始化。

      4. c.resize( n, t )

      调整容器 c 的长度大小,使其能容纳 n 个元素。若 n < c.size() 则删除多余元素,否则将新元素初始化为元素 t。

    四 增加元素函数

      1. c.push_back( t )

      在容器 c 之后插入元素 t

      2. c.push_front( t )

      在容器 c 最前端插入元素 t

      PS:该函数仅适用于 list 和 deque 容器类型

      3. c.insert( p, t )

      在迭代器 p 之前插入元素 t ,返回指向新插入元素的迭代器。

      4. c.insert( p, n, t )

      在迭代器 p 之前插入 n 个元素 t

      5. c.insert( p, b, e )

      在迭代器 p 之前插入迭代器 p 和 e 之间的元素

    五 删除元素函数

      1. c.erase( p )

      删除迭代器 p 所指向的元素,返回指向被删除元素的后一个元素的迭代器。

      2. c.erase( b, e )

      删除迭代器 b 和 e 之间的所有元素,返回指向被删除元素段的后一个元素的迭代器。

      3. c.clear()

      删除容器 c 的所有元素

      4. c. pop_back()

      删除容器 c 的最后一个元素

      5. c.pop_front()

      删除容器 c 的第一个元素

      PS:仅用于 list 和 deque 函数

    六 赋值函数

      1. c1 = c2

      删除容器 c1 中的所有元素,再将容器 c2 的值拷贝进去。

      2. c1.swap( c2 )

      将容器 c1 和 c2 的内容交换

      3. c.assign( b, e )

      重置容器 c,将迭代器 b 和 e 之间的元素复制进去。

      4. c.assign( n, t )

      重置容器 c,将 c 的元素置为 n 个元素 t。

  • 相关阅读:
    Android 工程师进阶 34 讲
    300分钟搞定数据结构与算法
    即学即用的Spark实战44讲
    42讲轻松通关 Flink
    Webpack原理与实践
    大数据运维实战
    ZooKeeper源码分析与实战
    前端高手进阶
    重学数据结构与算法
    ElementUI中el-upload怎样上传文件并且传递额外参数给Springboot后台进行接收
  • 原文地址:https://www.cnblogs.com/scut-fm/p/3534296.html
Copyright © 2020-2023  润新知