• 顺序容器及其常用函数


    前言

      容器是指容纳特定类型对象的集合。顺序容器则是指该容器根据位置访问保存在其中的对象。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。

  • 相关阅读:
    HUST 1372 marshmallow
    HUST 1371 Emergency relief
    CodeForces 629D Babaei and Birthday Cake
    CodeForces 629C Famil Door and Brackets
    ZOJ 3872 Beauty of Array
    ZOJ 3870 Team Formation
    HDU 5631 Rikka with Graph
    HDU 5630 Rikka with Chess
    CodeForces 626D Jerry's Protest
    【POJ 1964】 City Game
  • 原文地址:https://www.cnblogs.com/scut-fm/p/3534296.html
Copyright © 2020-2023  润新知