zoukankan      html  css  js  c++  java
  • map,set的模板[STL]

    之前写某题单词查找的时候,有用到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更完整

  • 相关阅读:
    原创:ESXi5.1安装实验1
    Xeon 5000系列说起
    ESXi5.1安装实验3
    VMware虚拟化网络和存储功能简介
    Understanding Core Exchange Server 2007 Design Plans
    Exchange 2007和2003,2000等共存。
    自动发现服务深入理解
    管理 POP3 和 IMAP4 服务
    原创:vsphere client 5.1安装实战
    UPNP解读2含netbios,wins,DNS
  • 原文地址:https://www.cnblogs.com/polebug/p/4039297.html
Copyright © 2011-2022 走看看