电话号码查找系统

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

摘要 (1)

前言 (2)

正文 (3)

1.采用类c语言定义相关的数据类型 (3)

2.各模块的伪码算法 (3)

3. 函数的调用关系图 (6)

4. 调试分析 (7)

5. 测试结果 (8)

总结 (9)

参考文献 (11)

致谢 (12)

附件1 部分源程序代码 (13)

摘要

在本设计实验中,我所采用的是散列列表作为电话号码查询结构,根据线性表、树、图的基本概念、逻辑结构、查询结构算法的应用,用不同的功能模块对电话号码信息进行编辑和查询。

电话号码的查询程序的目的是为人们提供各种信息查询服务:即查询客户的电话号码,依据电话号码查询客户信息等。电话号码的查询时用散列列表实现的。散列列表的设计与实现实现了用户的信息和电话号码的查询。

关键词:电话号码的查询,散列列表,散列列表的实现

前言

随着计算机科学的迅速发展,计算机已深入到人类社会的各个领域,它的应用已不再局限于科学计算,以解决一些数学问题,而且可以解决一些抽象化的具体问题,更多地用于控制,管理及数据处理等非数值计算的处理工作,这便为我们的日常生活提供了很多的方便。我们在对一些问题进行求解时,会发现有些问题很难找到规律,或者根本无规律可寻。对于这样的问题,可以利用计算机运算速度快的特点,先搜索查找所有可能出现的情况,再根据题目条件从所有可能的情况中,删除那些不符合条件的解。

电话号码的查询系统马祖了人们查询和储存电话号码的功能。从而方便了人们查询电话号码。从电话号码查询客户信息的功能。

正文1.采用类c语言定义相关的数据类型函数有:

void getin(();//输入信息函数

void ShowInformation();)//显示输入的用户信息void CreateHash1 ();//建表函数

void SearchHash1 ();//查询函数

void output();/*输出函数*/

void main()/*主函数*/

类有:

#define MAXSIZE 20 //电话薄记录数量

#define MAX_SIZE 20 //人名的最大长度

#define HASHSIZE 53 //定义表长

int Hash1(NA str){//散列函数

2.各模块的伪码算法

int Hash1(NA str){//散列函数

long n;

int m;

n=fold(str);//先将用户名进行折叠处理

m=n%HASHSIZE; //折叠处理后的数,用除留余数法构造散列函数

return m; //并返回模值

}

int Hash2(NA str){//散列函数

long n;

int m;

n = atoi(str);//把字符串转换成整型数.

m=n%HASHSIZE; //用除留余数法构造散列函数

return m; //并返回模值

}

Status collision(int p,int &c){//冲突处理函数,采用二次探测再散列法解决冲突int i,q;

i=c/2+1;

while(i

if(c%2==0){

c++;

q=(p+i*i)%HASHSIZE;

if(q>=0) return q;

else i=c/2+1;

}

else{

q=(p-i*i)%HASHSIZE;

c++;

if(q>=0) return q;

else i=c/2+1;

}

}

return UNSUCCESS;

}

printf("\n建表完成!\n此散列表容量为%d,当前表内存储的记录个数为%d.\n",HASHSIZE,H->count);

benGetTime();

}

1.函数的调用关系图

3.调试分析

a、调试中遇到的问题及对问题的解决方法

遇到的问题:在调试时,有时会把值输错,导致超出范围,输出错误结果或程序直接结束。或者有时候还会在错误的环境下运行。

解决方法:首先注意值的范围,输入在范围内的任意值。其次注意运行环境,有中文的一定要在中文运行环境中进行。

b、算法的时间复杂度和空间复杂度

时间复杂度O(n2)。

空间复杂度O(n2)

4.测试结果

总结

通过这次数据结构的编程题目,使我对C语言有了更深的了解,明白了在C

中数据的流动和转移方法。从最初的不知道从何入手到最后编写程序的完成,虽然耗费了我们一定的时间跟精力,但同时我们也收获硕果累累,一方面使我对函数的运用有了更加深刻的了解,对面向对象语言更深层次的掌握和应用。在初始编程的过程中,出现了许多的错误,但通过改正,借阅书本,对程序的运行方式有了进一步体会。

参考文献

1 严蔚敏,吴伟民.《数据结构(C语言版)》.清华大学出版社.

2 严蔚敏,吴伟民.《数据结构题集(C语言版)》.清华大学出版社.

3 《DATA STRUCTURE WITH C++》. William Ford,William Topp .清华大学出版社(影印版).

4 谭浩强.《c语言程序设计》. 清华大学出版社.

5.数据结构与算法分析(Java版) , A Practical Introduction to Data Structures and Algorithm Analysis Java Edition Clifford A. Shaffer , 张铭,刘晓丹译电子工业出版社 2001 年1月

相关文档
最新文档