zoukankan      html  css  js  c++  java
  • STL HASH_MAP简单应用

    /*
     *用来测试STL hash_map 
     *简单例子2008.5.5
    */
    #include  
    <cstdlib>
    #include  
    <iostream>
    #include  
    <string>
    #include  
    <hash_map.h>/*因为hash_map暂不为CPP标准所以没办法写为<hash_map>*/
    /*-------------------------------------------*/
    using  std::cout;
    using  std::endl;
    using  std::string;
    /*-------------------------------------------*/
    /*函数类
     *作为hash_map的hash函数 
     *string没有默认的hash函数 
     
    */ 
    class str_hash{
          
    public:
           size_t 
    operator()(const string& str) const
            {
                    unsigned 
    long __h = 0;
                    
    for (size_t i = 0 ; i < str.size() ; i ++)
                    __h 
    = 5*__h + str[i];
                    
    return size_t(__h);
            }
    };
    /*-------------------------------------------*/
    /*函数类 
     *作为hash_map的比较函数 )
     *(查找的时候不同的key往往可能对用到相同的hash值
    */ 
    class str_compare
    {
          
    public:
                 
    bool operator()(const string& str1,const string& str2)const
                 {
    return   str1==str2;}
    };
    /*-------------------------------------------*/
    int 
    main(
    int argc, char *argv[])
    {  
        hash_map
    <string,string,str_hash,str_compare>  myhash;
        
        myhash[
    "google"]="newplan";
       
        myhash[
    "baidu"]="zhaoziming";
       
        
    if(myhash.find("google")!=myhash.end())
          cout
    <<myhash["google"]<<endl;
        
        system(
    "PAUSE");
        
        
    return EXIT_SUCCESS;
    }
    /*-------------------------------------------*/

  • 相关阅读:
    pyecharts的版本问题
    世界各国中英文名称映射字典(pyecharts)
    爬取世界疫情数据绘制疫情可视化地图
    好好写,好好干-PHP基础(二)
    自罚一杯-PHP基础(一)
    又是一周-AJAX(三)
    我懒蛋又回来了!-PDO
    退役了退役了-AJAX
    睡觉问题早晚成为我顶头疼的问题。。。-PHP
    其实今天没有欲望..-MySQLi
  • 原文地址:https://www.cnblogs.com/lkskevin/p/2599891.html
Copyright © 2011-2022 走看看