码迷,mamicode.com
首页 > 其他好文 > 详细

map,set的模板[STL]

时间:2014-10-21 02:13:54      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   使用   for   strong   sp   

之前写某题单词查找的时候,有用到set,晚上写codeforces#497 div2 D题有用到map

感觉set,map的功能挺类似的,在此小结;

这里就不具体比较相同点和不同点了,免得看起来乱七八糟的,这里分别细说;

 

set:

#include <set>

set<...>s;(类型可为int,char,string)

功能主要有:

     插入元素;s.insert()

     查找元素;s.find()

     删除元素;s.erase()

     取出首尾元素;set<int>::iterator itor ;//这句一定要写!注意!
     itor=s.begin(); itor=s.end();

     itor!=s.end(); 可用来判断某个元素是否找到

其中set本身,可定义排序;

set<int, greater<int>> s;

set<int, less<int> > s;

插入,删除支持单个元素,或是一段区间,或是全部;可自定义;

感觉某位大神的博客讲的非常详细,学习了;

 

map

定义#include <map>

map<.. , ...>f;

其中可为int ,或char,string

因为map类似于hash,所以map中元素和射影是相对应的;

分别举个例子好了:(可参见这里

     当你需要存的是整型数组中的数据,

     ai ->i;

     map<int ,int >b;

     简单的写,可以有 b[a[i]]=i;

     也就是说,b[]中的下标和它所对应的值都为int;

char也是相同的意思

     当你需要存 b[‘abc‘]=‘defg‘;的时候你就要用 map<char ,char >b;

 

map使用起来和set相似,同样可以插入元素,查找元素,删除元素

插入可以简单的写为 b[a[i]]=..类似的写法

查找和删除和set相同

 

 

还是说一下自己感悟到的map和set的区别好了,map由于更趋近于hash,所以速度会比set要快很多,但是set的功能比map更完整

map,set的模板[STL]

标签:style   blog   http   color   ar   使用   for   strong   sp   

原文地址:http://www.cnblogs.com/polebug/p/4039297.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!