• 大小: 11KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-06
  • 语言: C/C++
  • 标签:

资源简介

(1)每个人的信息至少包括姓名,电话,地址。至少包括对通讯录的创建,添加和按姓名查找等功能。 (2)假设人名为汉语拼音全拼形式,待插入哈希表的长度为你所在班级的人数。哈希函数用除留余数法构造,采用链地址法或二次探测再散列法解决冲突。 (3)完成菜单设计。操作有必要的提示。

资源截图

代码片段和文件信息

#include 
#include “math.h“
#include “string.h“ 
#include “fstream“ 
unsigned int Key1; 
unsigned int Key2;//Key1和Key2分别用电话号码和姓名的关键字
using namespace std;//用来输入/输出流
#define NULL 0
int *p; 

struct node //建节点 

    char name[16]; //名字 
    char address[20]; //地址 
    char num[11];  //电话 
    node * next;  //结点指针 
}; 
typedef node* pnode; 
typedef node* mingzi; 
node **phone;  //指向结点指针phone的的指针 
node **nam;  //指向结点指针nam的指针 
node *a;     

void hash(char num[11])     //号哈希函数码 
{  
    int i = 3;             
    Key1=(int)num[2];       
    while(num[i]!=NULL) 

        Key1+=(int)num[i]; 
        i++; 

    Key1=Key1%20;       //使用除留余数法 

void hash2(char name[16]) //姓名哈希函数 

    int i = 1; 
    Key2=(int)name[0];

    while(name[i]!

评论

共有 条评论

相关资源