zoukankan      html  css  js  c++  java
  • STL中set和map

    set 可以认为是数学上的集合,集合中的元素不允许有重复。set特有的操作是高效的插入、删除和执行基本查找。

           set的插入方法是 insert,由于集合元素的唯一性,insert操作不一定会成功,insert操作返回的是一个比较复杂的类型,是一个指示插入位置和插入是否成功的复合类型。STL中定义了一个名称为pair的模板,该类模是:

           pair<iterator,bool> insert( const Object & x );

           pair<iterator,bool> insert(  iterator hint,const Object & x );

    一般情况下,双参数的insert由于指定了位置,其执行速度要比单参数的函数执行速度快。

           set的删除操作有以下三种:

           int erase( const object & x);  找到并删除该元素,返回删除元素的个数(0 或者 1)

           iterator erase( iterator itr) ; 删除该迭代器指向的元素。

           Iterator erase(iterator start, iterator end ); 删除一个区间内的元素,不包括尾部元素。

           set  支持的查找操作是:

           iterator find( const Object & x );

    map 容器

           map用来存储排序后的由键(key)和值(value)组成的项的集合。但是多个键可以共同对应一个值,因此,值不需要唯一,在map中的键保持逻辑排序后的顺序。Map 和 python中的字典是一样的道理。

    Map 中存储的元素都是

           Pair<KeyType,ValueTyep> 的形式。Map 的迭代器指向的也是这么一个对。

     在map中执行查找操作可以使用[ ]运算符。

           ValueType & operator[ ] (const KeyType & key );

    pp
  • 相关阅读:
    对于作用域和闭包的理解
    响应式开发学习(3)——图片优化
    响应式开发(2)
    响应式开发(1)
    数据结构
    进阶题目
    集合
    数组
    内存相关
    线程
  • 原文地址:https://www.cnblogs.com/wangxiaoyong/p/8783372.html
Copyright © 2011-2022 走看看