zoukankan      html  css  js  c++  java
  • map set区别

    STL中的容器有顺序容器 (vector,list,deque),关联容器(map,set)还有一些其他容器。
    根据不同的场合选择不同的容器,会有意想不到的收获。


    Map是单词mapping(映射)的缩写
    Set是单词set(集合)的意思;


    Map和set内部的元素不可以重复,这一点不同于multimap和multiset。


    map 和 set使用相同的数据结构,其内部实现都是R-B树,不同的是其中的Iterator的格式不一样,map使用pair这种配对的数据,并根据pair中第一个元素的值进行排序,而set的iterator并不具备天生的pair类型的元素,直接根据其中的元素进行排序,下面的伪码也许可以更清楚的表述:

     C++ Code 
    1
    2
     
    typedef template<class Key, class Value> rb_tree< pair<Key, Value> > map;
    typedef template<class T> rb_tree< T > set;

    map的节点是一对数据,set的节点是一个数据。

    map的形式 map<type1, type2> mymap;
    set的形式  set<type> myset;
     一般map是对有关联的事物存储,操作。  
      set是对一个字段进行存储,操作。

  • 相关阅读:
    Additional Color Tables
    How to make a non-symmetric color pallet around zero
    【cl】cmd相关命令
    【cl】oracle之Sequence
    常用命令之ps
    卸载oracle
    oracle—无法启动
    oracle 导入数据
    proc文件系统漫谈
    GStreamer插件分类
  • 原文地址:https://www.cnblogs.com/hellogiser/p/map-set.html
Copyright © 2011-2022 走看看