散列表应用

您所在的位置:网站首页 天津公交电话号码查询系统 散列表应用

散列表应用

2024-05-17 15:08| 来源: 网络整理| 查看: 265

问题介绍

设计电话号码查询系统

基本要求

1.设每个记录有下列数据项:

     电话号码、用户名、地址;

2.从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;

3.采用合适的方法解决冲突;

4.查找并显示给定电话号码的记录;

5.查找并显示给定用户名的记录;

6.插入用户记录;

7.删除用户记录;

8.输出用户的信息。

算法思想

1.将输入的用户的电话号码和用户名以字符串的形式存储起来。采用除留取余法将电话号码和用户名所对应的字符串的ASCII码的和求出来,对除数取余,放到散列表中。

2.对于除数怎么确定呢?首先我们先输入一个n,表示用n个用户,然后将n+10,求n到n+10里面最大的素数,作为除数。这就是除留取余法。

//判断素数 bool isprime(int n) { if (n telnum; cout > telname; cout > teladd; int sum(0); bool flag = false; int count(0); //记录发生冲突的次数 for (int i = 0; i > t; int sum(0); for (int i = 0; i > telnum; int sum(0); bool flag = false; int count(0); //记录发生冲突的次数 for (int i = 0; i > telname; cout > teladd; strcpy(rec1[sum].telnum, telnum); strcpy(rec1[sum].telname, telname); strcpy(rec1[sum].teladd, teladd); rec1[sum].flag = true; rec1[sum].count = count; } } //根据电话号码删除用户 void Delete1() { char telnum[maxn], telname[maxn], teladd[maxn]; cout > telnum; int sum(0); bool flag = false; int count(0); //记录发生冲突的次数 for (int i = 0; i > t; int sum(0); for (int i = 0; i > telname; int sum(0); bool flag = false; int count(0); //记录发生冲突的次数 for (int i = 0; i > telnum; cout > teladd; strcpy(rec2[sum].telnum, telnum); strcpy(rec2[sum].telname, telname); strcpy(rec2[sum].teladd, teladd); rec2[sum].flag = true; rec2[sum].count = count; } } //根据用户名删除用户 void Delete2() { char telnum[maxn], telname[maxn], teladd[maxn]; cout > telname; int sum(0); bool flag = false; int count(0); //记录发生冲突的次数 for (int i = 0; i > counter; switch (counter) { case 1: { init1(); cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3