- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
航班查询系实验报告
目 录
一、概述 1
二、系统分析 1
1.航班信息的查询与检索 1
2.航班信息查询与检索数据结构理论 1
三、概要设计 2
1.系统的功能 2
2.系统模块分析及其流程图 3
四、详细设计 6
1.各函数说明 6
2.定义相关数据类型 8
3. 航班信息的查询 9
五、 运行由于测试 12
六、总结与心得 16
参考文献 16
附录 16
一、概述
随着信息产业的飞速发展,信息化管理及查询已经进入并应用到各行各业,影响着人们的价值观念和生活方式。因此,要提高企业信息化建设,利用先进的办公自动化系统来实现企业内部信息管理、共享及交流,从而提高企业综合实力。
本次设计是针对航班的查询系统,该设计要求对飞机航班信息进行排序和查询。可按航班的航班号、起点站、终点站等信息进行航班信息的查询。
二、系统分析
1.航班信息的查询与检索
进入系统后,首先提示输入航班的信息,包括:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号及票价等,票价为整型,其他为字符型。
当输入完一个信息后会提示是否继续输入,重复以上步骤输入全部的信息。
进入主菜单后会给出用户操作的界面,根据提示进行航班信息的查询。
2.航班信息查询与检索数据结构理论
针对在本该类系统中的数据的处理情况,本系统采用二分查找法、基数排序法、最高位优先法。
二分查找法也称为折半查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如 果xa[n/2],则我们只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列)。如果xa[n/2],则我们只要在数组a的右 半部继续搜索x。
对航班号的排序是采用的基数排序法。基数排序法又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的比较性排序法。
最高位优先(Most Significant Digit first)法,简称MSD法:先按k1排序分组,同一组中记录,关键码k1相等,再对各组按k2排序分成子组,之后,对后面的关键码继续这样的排序分组,直到按最次位关键码kd对各子组排序后。再将各组连接起来,便得到一个有序序列。最低位优先(Least Significant Digit first)法,简称LSD法:先从kd开始排序,再对kd-1进行排序,依次重复,直到对k1排序后便得到一个有序序列。
三、概要设计
1.系统的功能
本任务要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。本设计主要是对排序以及查找等概念进行综合练习。以链式基数排序为主线,用到二分查找和顺序查找等知识,还有建立静态链表等相关概念。
2.系统模块分析及其流程图
(1)航班排序
对输入系统内的航班首先要进行排序,我们采用的基数排序,从低位到高位依次对关键字进行分配和收集,分两段实现其算法流程图。
(2)时间查找
根据航班的起飞时间(到达时间)查找航班的信息。
(3)二分法查找功能
(4)显示功能
显示功能是将所求单词的所有行列信息依次显示在屏幕上。
四、详细设计
1.各函数说明
1.一趟分配函数
void distribute_c(slnode *sl,int i,arrtype_c f,arrtype_c e)
{//一趟字母分配字符函数
int j,p;
for(j=0;jradix_c;j++)
{
f[j]=e[j]=0;
}
for(p=sl[0].next;p;p=sl[p].next)
{
j=sl[p].keys[i]%65;
if(!f[j])
f[j]=p;
else
sl[e[j]].next=p;
e[j]=p;
}
}
2.一趟收集函数
void collect_c(slnode *sl,int i,arrtype_c f,arrtype_c e)
{
int j,t;
for(j=0;!f[j];j++);
sl[0].next=f[j];
t=e[j];
while(jradix_c-1)
{
for(j=j+1;jradix_c-1!f[j];j++);
if(f[j])
{
sl[t].next=f[j];
t=e[j];
}
}
sl[t].next=0;
}
3.链式基数排序
vo
您可能关注的文档
最近下载
- 《组织协调能力》课件.ppt VIP
- 辽阳六年级小升初数学模拟试卷(带答案).doc VIP
- 动量、冲量的理解及动量定理的应用(解析版)-2025年新高考物理专项复习.pdf VIP
- 2025年电信网上大学智能云服务交付工程师认证参考试题库-下(多选、判断题汇总).doc VIP
- 2025年南京市江宁区小升初数学模拟试卷及答案解析 .pdf VIP
- 6员工面试评估表0102.doc VIP
- 中国重症患者肠外营养治疗临床实践专家共识(2024).pptx VIP
- servo design using motorsolve使用进行伺服电机设计.pdf VIP
- 武藏300机械手编程.pdf VIP
- 地应力计算公式总结.doc
原创力文档


文档评论(0)