• How to use...STL!!!


    1. (mathtt{set})

    1.1. (mathtt{upper\_bound(),lower\_bound()})

    • (mathtt{upper\_bound()}):第一个大于 ( m val) 的数。
    • (mathtt{lower\_bound()}):第一个大于等于 ( m val) 的数。

    需要注意的是如果没有符合条件的数就会返回 (mathtt{set.end()})

    1.2. (mathtt{swap()})

    (mathtt{swap()}) 的定义:

          /**
           *  @brief  Swaps data with another %set.
           *  @param  x  A %set of the same element and allocator types.
           *
           *  This exchanges the elements between two sets in constant time.
           *  (It is only swapping a pointer, an integer, and an instance of
           *  the @c Compare type (which itself is often stateless and empty), so it
           *  should be quite fast.)
           *  Note that the global std::swap() function is specialized such that
           *  std::swap(s1,s2) will feed to this function.
           */
    

    用法是 (mathtt{set\_1.swap(set\_2)})

    1.3. (mathtt{rbegin()})

    返回 (mathtt{set}) 的末尾元素。注意不能直接赋值给迭代器,这样会 (mathtt{CE})

    2. (mathtt{multiset})

    2.1. (mathtt{erase()})

    • (mathtt{erase(})(mathtt )):删除这个值的所有元素。
    • (mathtt{erase(})迭代器(mathtt )):删除这个迭代器指向的元素。

    3. (mathtt{map})

    3.1. 查询

    • (mathtt{find()}): 如果不存在这个下标,返回值为 (mathtt{map.end()})

    • (mathtt{count()}): 如果存在这个下标,返回值为 (1),否则为 (0)

    • (mathtt{map[]}): 如果存在这个下标,返回值为这个下标的值,否则为 (0)

    敲黑板:(mathtt{map[]}) 在询问不存在的下标时,第一次会返回 (0),但之后会填个东西进下标,之后的查询无论使用哪一种操作都是错的!!!

    3.2. 插入

    • (mathtt{map[x]=y})
    • (mathtt{map.insert(make\_pair(x,y))})

    好像第二种要快一点,因为不用查找。

    3.3. (mathtt{upper\_bound(),lower\_bound()})

    • (mathtt{upper\_bound()}):第一个大于 ( m val) 的键值。
    • (mathtt{lower\_bound()}):第一个大于等于 ( m val) 的键值。

    返回迭代器为 it->first 为键值,it->second 为值。

  • 相关阅读:
    MVC4中EasyUI Tree异步加载JSON数据生成树
    Linq语法
    委托的多种写法
    centos7安装Hive2.3.0
    ApacheKylin笔记
    把普通的JavaProject变成MavenProject
    eclipse 手动/自动安装插件
    我的JdbcUtils类
    Druid 连接池 JDBCUtils 工具类的使用
    Maven下载cxf所需要的jar包
  • 原文地址:https://www.cnblogs.com/AWhiteWall/p/13555797.html
Copyright © 2020-2023  润新知