容器原理

容器的基本功能与分类

  • 容器类是容纳、包含一组元素或元素集合的对象。
  • 基于容器中元素的组织方式:顺序容器、关联容器
  • 按照与容器所关联的迭代器类型划分:可逆容器随机访问容器

容器的基本功能与分类

  • 容器
    • 顺序容器
      • array(数组)、vector(向量)、deque(双端队列)、forward_list(单链表)、list(列表)
    • (有序)关联容器
      • set(集合)、multiset(多重集合)、map(映射)、multimap(多重映射)
    • 无序关联容器
      • unorderedset (无序集合)、unorderedmultiset(无序多重集合)
      • unorderedmap(无序映射)、unordermultimap(无序多重映射)

容器的分类

 

容器的通用功能

  • 容器的通用功能
    • 用默认构造函数构造空容器
    • 支持关系运算符:==、!=、<、<=、>、>=
    • begin()、end():获得容器首、尾迭代器
    • clear():将容器清空
    • empty():判断容器是否为空
    • size():得到容器元素个数
    • s1.swap(s2):将s1和s2两容器内容交换
  • 相关数据类型(S表示容器类型)
    • S::iterator:指向容器元素的迭代器类型
    • S::const_iterator:常迭代器类型

对可逆容器的访问

  • STL为每个可逆容器都提供了逆向迭代器,逆向迭代器可以通过下面的成员函数得到:
    • rbegin() :指向容器尾的逆向迭代器
    • rend():指向容器首的逆向迭代器
  • 逆向迭代器的类型名的表示方式如下:
    • S::reverse_iterator:逆向迭代器类型
    • S::constreverseiterator:逆向常迭代器类型

随机访问容器

  • 随机访问容器支持对容器的元素进行随机访问
    • s[n]:获得容器s的第n个元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值