蔡霖《汽车牌照管理系统》.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学号 《》 课程设计报告 车牌管理系统 专业: 计算机科学与技术 班级: 13计科2班 姓名: 蔡霖 指导教师: 邓明 成绩: 计算机学院 2015年11月16日 目录 1.设计内容及要求 1 1.1 概述 1 1.2 主要功能 1 1.3 目的和要求 1 2.概要设计 1 2.1数据设计 1 2.2 所需函数及框架 2 3.设计过程或程序代码 4 3.1基数排序的过程 4 3.2 二分查找的算法思想 6 3.3主要函数及功能 6 4.设计结果与分析 12 4.1调试过程 12 4.2用户手册 13 5.参考文献 14 附:源程序 15 1.设计内容#define KEY_SIZE 8 #define LIST_SIZE 100 typedef struct { char key[KEY_SIZE]; 将车牌号以字符的形式存储 char name[10]; 车主的名字 char carname[20]; 车的品牌 int next; }RecordType; typedef struct { RecordType r[LIST_SIZE]; 是一个RecordType类型的数组 int length; int keynum; }SLinkList; 2.2 所需函数及框架 main():主函数 noun():输出提示信息菜单 GetData():从键盘添加车辆函数 Distribute():进行基数排序每一趟的分配函数 Collect():进行基数排序每一趟的收集函数 Binsrch ():二分查找函数 print():输出所有车辆信息函数 Radixsort ():基数排序函数 Zl():基数排序后的整理 图1各函数之间基本关系 图2程序执行的流程图 3.设计过程或程序代码 3.1基数排序的过程 首先将待排序的记录分成若干个子关键字,排序时,先按最低位的关键字对记录进行初步排序;在此基础上,再按次低位关键字进一步排序,以此类推,由低位到高位,由此关键字到主关键字,每一趟排序都在前一趟排序的基础上,直到按最高位关键对记录进行排序后,基数排序完成。 在基数排序中,基数是各个关键只的取值范围。若待排序的记录是十进制,则基数是10;若待排序的记录是由若干个字母组成的单词,则基数为26,也就是说,从最右边的字母开始对记录进行排序,每次排序都将待排序记录分成26组,但在此问题中,车牌号是由汉字,字母以及数字组成,若直接进行排序,则需要分成34组,为了提高算法的空间性能,可以将汉字及字母转换为十进制数后再进行基数排序。 例如:一组记录的关键字为:(278,109,63,930,589,184,505,269,8,83) 可以看出,这组关键字与以前说过的用来排序的关键字并无差别,且也是针对但关键字对一组记录进行排序。但在基数排序中,我们可以将单关键字看成由若干个关键字复合而成。 上述这组关键字的值都在0~999的范围内,我们可以把一个数位上的十进制数字看成是一个关键字,即将关键字K看成由3个关键K0,K1,K2组成。其中,K0是百位上的数字,K1是十位上的数字,K2是个位上的数字。 因为十进制的基数是10,所以,每个苏伟山的数字都可能是0~9中的任何一个。我们先将关键字K2来分配所有参与排序的元素,将K2=0的元素防在一组、K2=1的元素放在一组、 ……、K2=9的元素放在一组。这样,将上述一组元素分成10组,如下(a)图所示。然后,再将K2的值由0到9的顺序收集各组元素,形成序列(930,063,083,184,505,278,008,109,589,269)。 对上述序列中的元素再按关键字K1来分配,也分成10组,如下(b)图所示。然后,再按K1的值由0到9的顺序收集各组元素,形成序列(505,008,109,930,063,269,278,083,184,589)。 对该序列中的元素再按关键字K0来分配,分成如下(c)图所示的10组。然后按K0的值由0~9的顺序收集各组元素,形成序列(008,063,083,109,184,267,278,505,589,930)。这时,该序列已经变成了一个有序序列。 一趟分配前的一组元素(008,063,083,109,184,267,278,505,589,930) 269 083 008 589 930

文档评论(0)

三四五 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档