资源简介
散列表是一种存储结构,是和链表,数组不同的存储结构,其存储位置是有存储数据而定的,本题中,有学生姓名、住址和电话号码,输入学生姓名,将拼音字母转化成阿克斯码,将所有的阿克斯码加起来与20取余数得到的数字是该数据的存储位置,电话号码是是直接数字相加与20取余数得到的存储地址,可以实现学生的记录添加,查找记录删除记录和现实所有记录等功能。
代码片段和文件信息
#include
#include
#include
#include
#define NULL 0
unsigned int key; //存放手机号相加取余后的关键字
unsigned int key2; //存放姓名的阿克斯码相加取余后的关键字
struct Node //定义结点
{
char name[8];//姓名
char address[20]; //地址
char num[11]; //电话号码
struct Node * next; //指向下一个结点指针
};
typedef Node* pNode;
typedef Node* pName;
Node **phone;
Node **nam;
void hash(char num[11]) //电话号码哈希函数
{
int i = 3;
key=(int)num[2]; //此处的带括号的是表示强制类型转化还是提示所指的是整形数字
while(num[i]!=NULL)
{
key+=(int)num[i];
i++;
}
key=key%20; //取二位后的非零电话号码数字之和与20取余数作为地址值无返回值
}
void hash2(char name[8]) //姓名哈希函数,得到存储地址
{
int i = 1;
key2=(int)name[0];
while(name[i]!=NULL)
{
key2+=(int)name[i];
i++;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-11-07 19:11 散列表的设计与实现\
文件 162 2013-11-07 19:11 散列表的设计与实现\~$表的设计与实现报告.docx
文件 4893 2013-06-27 11:05 散列表的设计与实现\散列表的设计与实现.cpp
文件 25155 2013-06-25 11:29 散列表的设计与实现\散列表的设计与实现报告.docx
- 上一篇:基于内容(颜色和形状特征)的图像检索
- 下一篇:手势跟踪 鼠标控制 opencv
评论
共有 条评论