c语言哈希表电子辞典_哈希表c语言程序代码

这是一个C语言编写的电话号码查询系统,利用哈希表存储电话号码记录,支持初始化、插入、查询、删除、排序和打印等功能。程序通过用户界面交互,允许根据电话号码或姓名进行关键字查询,并动态调整哈希表容量。
摘要由CSDN通过智能技术生成

/*

实验项目名称

:

电话号码查询系统的实现

实验目的与要求

:

1.

基础知识

:

掌握数据结构中的查找、排序等算法相关知识

;

掌握

C

VC++

语言中程序设计的方法。

2.

参考教材相关算法,完成以下程序功能

:

(1)

自选存储结构实现电话号码表的初始化;

(2)

编写一个电话号码查询系统

,

要求有电话号码记录的录入

(

插入

)

存储、

查询、

记录

删除、排序、打印等模块

;

实验性质

:

综合性

(4

学时

)

说明

:

存储结构可采用哈希表的方式

,

完成用电话号码或姓名为关键字构建哈希表

,

并进

行查询、添加、删除、打印记录等功能模

(

此方式为推荐方式

),

其次子函数的调用顺序由最终用户决定

(

可用多分支结构

),

程序中应有用户的操作选择界面

.

*/

# include "stdio.h"

# include "stdlib.h"

# define SUCCESS 1

# define NULL_KEY -2

//-2

为无标志记录

# define UNSUCCESS 0

# define DUPLICATE -1

int hashsize[]={11,19,29,37};

//

哈希表容量递增表

,

一个合适的素数序列

int m=0;

//

哈希表表长

,

全局变量

typedef int KeyType;

//

设关键字为整形

typedef struct {

char name;

//

姓名

KeyType num;

//

号码

}Node;

typedef struct {

Node *elem;

//

数据元素存储地址

,

动态分配数组

int count;

//

当前数据元素个数

int sizeindex;

//hashsize[H.sizeindex]

为当前容量

}HashTable;

void ChuangJian(HashTable &H) {

//

构建一个空哈希表

int i;

H.count=0;

//

当前元素个数

H.sizeindex=0;

//

初试存储容量为

hashsize[0]

m=hashsize[0];

H.elem=(Node *)malloc(m*sizeof(Node));

if (!H.elem)

exit (-2);

//

存储分配失败

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值