zoukankan      html  css  js  c++  java
  • STL中各容器之函数总结

    一.序列和关联非共同拥有函数

    全部标准库共同拥有函数  (构造,相关属性,迭代器,插入与删除,比較。swap)


    当中operator>,operator>=,operator<,operator<=,operator==,operator!=均不适用于priority_queue

    顺序容器和关联容器共同拥有函数


    (1)   序列容器都提供5种同样的构造方法;关联容器都提供3种同样的构造方法

    (2)    还有insert插入函数(序列容器有3个同样版本号的插入。关联容器也有3个版本号的)

    (3)    序列容器提供2中同样的erase,关联容器提供3种同样的erase

    (4)    属性函数:vector多了capacity()函数,其余都是sizemax_size,empty3

    .非共同拥有函数

    1)仅仅有序列容器才有的函数

    元素的訪问  元素的赋值

    (2)   仅仅有关联容器才有的函数

    查找

    (3)   序列元素对首尾元素的插入。删除与訪问

    Vector

    插入与删除:push_back(),pop_back()

    訪问:frontback(分别均有2个版本号)

    重要:为什么没有push_front,,可是却有front,这是start迭代器的功劳

     

    Dequelist

    插入与删除:push_back(),pop_back()push_front,pop_front

    訪问:同vector

     

    Stackqueue

    插入与删除非常明显

    訪问:queqevector

    可是stack却仅仅有top(也即back)。为什么?

     

    Slist

    插入与删除:push_frontpop_front

    訪问:front

    (4)   仅仅有序列容器才有的訪问之非头尾的訪问

    仅仅有Vectordeque才干够,由于仅仅有他们才提供了随机訪问迭代器

    1.[] (2种版本号)

    2.at2种版本号)

    5)仅仅有序列容器才有的赋值

         都一样;assign2个版本号)

    6

    Vector和string既有reserve,也有resize。它们两个能够利用reserve来避免不必要的又一次分配。

    因为deque不是必需提供所谓的空间保留功能(原因见STL源代码P143),所以其没有reserve函数。

    同理。List也仅仅提供resize函数

    关联容器不提供这两个函数。

     

    7list在序列容器中比較特殊

    合并:merge2个版本号),splice3个版本号)

    排序:sort2个版本号)

    反转  

           多了删除:remove2个版本号)。unique2个版本号)

    8)关联容器特有的查找

         Setmultisetfind,lower_bound,upper_bound,equal_rangecount

         Mapmultimap:前4个函数另一个非const版本号

        

     

    (9)

    Vector和string既有reserve,也有resize,它们两个能够利用reserve来避免不必要的又一次分配。

    因为deque不是必需提供所谓的空间保留功能(原因见STL源代码P143)。所以其没有reserve函数。同理,List也仅仅提供resize函数

    关联容器不提供这两个函数。

  • 相关阅读:
    人工智能第一次作业
    在uni-app的textarea中输入纯数字或者英文不换行的问题
    uni-app实现选择图片上传并显示进度条
    减肥计划
    前端时间格式2020-02-11T12:24:18.000+0000转化成正常格式
    男孩和女孩
    java 获取当前年份 月份 日期
    深海收破烂
    如何爱一个人
    随手心情
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7218060.html
Copyright © 2011-2022 走看看