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

  • 相关阅读:
    ActiveMQ学习第八篇:Consumer
    ActiveMQ学习第七篇:Messaage
    线性判别分析LDA
    逻辑回归
    那些年,曾踩过的Spark坑
    HBase表创建、删除、清空
    python的多线程
    python的多进程
    python实现读写txt文件
    python的封包和解包
  • 原文地址:https://www.cnblogs.com/lkskevin/p/2599891.html
Copyright © 2011-2022 走看看