关联容器:set multiset map multi…

来源:互联网 发布:java linux cpu使用率 编辑:程序博客网 时间:2024/05/16 19:06

原创: http://blog.sina.com.cn/u/2312748742

一、

  1)set 只能是单一的值,它是存储不重复的元素,不能有两个相同的元素,可以      用pair<set<int>::iterator,bool>ret;键值对来判断是否两个元素是否一样; 
用if (ret.second==false)it=ret.first;可以判断是否失败;用*(ret.fisrt)可以得到相同的值。
  2)set的元素值是它的键值本身。而map是有key 和 value
  3)set都会对元素进行有序的排序。
二、
  1)multiset 可以储存相同的元素.
  2)insert返回的是迭代器。
  3)其他同set
三、
 1)map储存元素是有格式的key和value值。map是一种特殊的set,它的所有元素都是pair<key,value>map最大的特性在于map提供了下标subscript操作的能力,你可以向数组一样操作map[key]来引用相应的值。
 2)可以根据key找到关键字。几乎所有针对map的操作都是基于key的。比如,排序就是通过比较key来进行的。
  3)用树形结构储存,所以查找时间短。
  4)key是唯一不同步。每一个元素都有一个键值对。
  5)也是有序的。
四、
 multimap特点; map不能有重复的键值对,即如果插入键相同的键值对,则将覆盖掉同键值的键值对。
multimap则不会覆盖。