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;
    }
    /*-------------------------------------------*/

  • 相关阅读:
    Python
    Python
    Python
    Python
    Python
    《The Rise and Fall of Scala》scala的兴衰
    Scala核心编程_第05章_函数式编程
    IntelliJ IDEA scala的源码设置
    Scala核心编程_第04章 程序流程控制
    Scala核心编程_第03章_运算符
  • 原文地址:https://www.cnblogs.com/lkskevin/p/2599891.html
Copyright © 2011-2022 走看看