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是对一个字段进行存储,操作。

  • 相关阅读:
    Hibernate 工作原理及为什么要用
    一款很好用的JQuery dtree树状图插件(一)
    android PopupWindow
    android 截屏工具类
    ubuntu 中文输入法
    Google GCM推送
    windows 安装配置 ant
    (转)Angular中的拦截器Interceptor
    flex 布局 自己做的demo
    flex布局 (转)
  • 原文地址:https://www.cnblogs.com/hellogiser/p/map-set.html
Copyright © 2011-2022 走看看