哈希函数的设计

class Customer
{
public:
    string fname;
    string lname;
    long no;
};

class CustomerHash
{
public:
    size_t operator()(const Customer& c) const
    {
        return std::hash<string>()(c.fname) +
            std::hash<string>()(c.lname) +
            std::hash<long>()(c.no);
    }
};
hash表的源代码#include <stdio.h> /*标准输入输出函数库*/ #include<stdlib.h> /*标准函数库*/ #include<string.h> #define HASH_LEN 50 /*哈希表的长度 */ #define M 47 #define NAME_N 30 /*人名拼音的最大个数*/ typedef struct NAME { char *py; /*名字的拼音*/ int k; /*拼音所对应的整数*/ }NAME; NAME NameList[HASH_LEN]; /*定义一个NAME类型的一维结构体数组*/ typedef struct hterm /*定义一个结构体类型hterm ,用typedef语句定义一个新类型HASH一个哈希表*/ { char *py; /*名字的拼音*/ int k; /*拼音所对应的整数 */ int si; /*查找长度 */ }HASH; HASH HashList[HASH_LEN]; /*定义HASH类型的一维数组*/ //创建一个姓名链表 void CreateNameList() /*创建姓名链表赋值*/ { NameList[0].py="liudan"; NameList[1].py="yanfanglei"; NameList[2].py="sunwei"; NameList[3].py="muyunfei"; NameList[4].py="wuyuanyuan"; NameList[5].py="weixing"; NameList[6].py="hefanrong"; NameList[7].py="wangxiaotian"; NameList[8].py="zhoulei"; NameList[9].py="houcuncun"; NameList[10].py="zhangliang"; NameList[11].py="songyangyang"; NameList[12].py="tianhuanhuan"; NameList[13].py="renkun"; NameList[14].py="sungang"; NameList[15].py="fuxiaohui"; NameList[16].py="qinlong"; NameList[17].py="gaodan"; NameList[18].py="andongmei"; NameList[19].py="wanglintao"; NameList[20].py="wangyalan"; NameList[21].py="limenglu"; NameList[22].py="wangxin"; NameList[23].py="zhangnana"; NameList[24].py="shirui"; NameList[25].py="wangdong"; NameList[26].py="majunchao"; NameList[27].py="wanghuanhuan"; NameList[28].py="wangni"; NameList[29].py="heqi";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值