欢迎来到天天文库
浏览记录
ID:18885188
大小:280.00 KB
页数:16页
时间:2018-09-26
《数据结构程序课程设计—散列表的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、XXXXXX学院计算机类课程设计报告课程名称:数据结构程序设计课程设计题目:散列表的设计与实现姓名:系:计算机系专业:计算机科学与技术年级:08级学号:指导教师:职称:2010年6月26日XXXXXXXXXXX计算机类课程设计结果评定序号评定项目分值得分1选题合理、目的明确102设计方案正确,具有可行性、创新性203程序运行结果正确204态度认真、学习刻苦、遵守纪律155设计报告的规范化、参考文献充分(不少于5篇)106答辩:思路清晰,语言表达准确,概念清楚、正确25最后得分指导老师(签名)日期年月日目录1.课程设计
2、的目的………………………………………………………………42.课程设计的要求………………………………………………………………43.课程设计报告内容……………………………………………………………44.课题分析·····················································125.课题设计结果及体会···············································146.参考文献………………………………………………………………………15散列表的设计与实现
3、1.课程设计的目的掌握数据结构的基础技术,学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及其相应的算法,应用相关知识设计设散列表实现电话号码查找系统。2.课程设计的要求1)设每个记录有下列数据项:电话号码、用户名、地址;2)从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;3)采用一定的方法解决冲突;4)查找并显示给定电话号码的记录;5)查找并显示给定用户名的记录。【进一步完成内容】1)系统功能的完善;2)设计不同的散列函数,比较冲突率;3)在散列函数确定的前提下,
4、尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。3.课程设计报告内容程序代码#include#include#include#include#defineMAXSIZE 20 //电话薄记录数量#defineMAX_SIZE20 //人名的最大长度#defineHASHSIZE53 //定义表长 #defineSUCCESS1#defineUNSUCCESS-1#defineLENsizeof(HashTable)typede
5、fintStatus;typedefcharNA[MAX_SIZE];typedefstruct{//记录NAname;NAtel;NAadd;}Record;typedefstruct{//哈希表Record*elem[HASHSIZE]; //数据元素存储基址intcount; //当前数据元素个数intsize; //当前容量}HashTable;Statuseq(NAx,NAy){//关键字比较,相等返回SUCCESS;否则返回UNSUCCESSif(strc
6、mp(x,y)==0) returnSUCCESS;elsereturnUNSUCCESS;}StatusNUM_BER; //记录的个数voidgetin(Record*a){//键盘输入各人的信息printf("输入要添加的个数:");scanf("%d",&NUM_BER);inti;for(i=0;i7、scanf("%s",a[i].tel); printf("请输入第%d个记录的地址:",i+1); scanf("%s",a[i].add); //gets(str2);??????}}voidShowInformation(Record*a)//显示输入的用户信息{inti;for(i=0;i8、a[i].add);} voidCls(Record*a){printf("*"); system("cls");}longfold(NAs){//人名的折叠处理char*p;longsum=0;NAss;strcpy(ss,s);//复制字符串,不改变原字符串的大小写strupr(ss)
7、scanf("%s",a[i].tel); printf("请输入第%d个记录的地址:",i+1); scanf("%s",a[i].add); //gets(str2);??????}}voidShowInformation(Record*a)//显示输入的用户信息{inti;for(i=0;i8、a[i].add);} voidCls(Record*a){printf("*"); system("cls");}longfold(NAs){//人名的折叠处理char*p;longsum=0;NAss;strcpy(ss,s);//复制字符串,不改变原字符串的大小写strupr(ss)
8、a[i].add);} voidCls(Record*a){printf("*"); system("cls");}longfold(NAs){//人名的折叠处理char*p;longsum=0;NAss;strcpy(ss,s);//复制字符串,不改变原字符串的大小写strupr(ss)
此文档下载收益归作者所有