欢迎来到天天文库
浏览记录
ID:50774057
大小:93.00 KB
页数:15页
时间:2020-03-14
《数据结构课程设计--航班信息查询与检索系统.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《数据结构》课程设计报告题目:航班信息查询与检索专业:班级:学号:姓名:任课老师:2010年12月26日15目录一、设计题目……………….1二、设计要求……………….2三、概要设计……………….21.设计思路………………22.流程图…………………2四、详细设计……………….31.定义数据类型………....32.算法实现……………....3五、测试数据……………….61.录入航班信息…………62.航班信息查询…………7六、收获与体会…………….815一、设计题目设计一个航班信息查询与检索系统。可按航班的航班号、起点站、终点站、起飞时间以及到达时间等信
2、息进行查询。二、设计要求1、每个航班记录包括八项:航班号、起始站、终点站、班期、起飞时间、到达时间、飞机型号、票价。如下表所示:航班信息表航班号起点站终点站航班期起飞时机到达时间机型票价CA1544合肥北京1.2.5105512407339602、要有输入模块。3、对航班信息进行排序与查找。三、概要设计1、设计思路根据题目所要求,程序必须实现航班信息的录入和查询。程序首先定义了一个用于储存航班信息的数据类型,再由用户录入航班数据,在录入的同时并对数据进行排序,最后执行数据查询和检索。在查询设计中,使用二分查找法对排好序的航班数据按航班号实现快速查找
3、,按起点站、终点站、起飞时间、到达时间查找的则采用顺序查询方法。2、流程图定义数据类型输出查找结果接受查找条件、查找关键字数据输入、排序15四、详细设计1.定义数据类型根据设计要求,设计中所用到的数据记录只有航班信息,因此要定义相关的数据类型:typedefstruct{charstart[6];//起点站charend[6];//终点站charsche[10];//航班期chartime1[5];//起飞时间chartime2[5];//到达时间charmodel[4];//机型intprice;//票价}infotype;//航班记录类型typ
4、edefstruct{keytypekeys[keylen];//关键字infotypeothers;intnext;}slnode;//表结点typedefstruct{slnodesl[maxspace];//静态链表,s1[0]为头结点intkeynum;//关键字长intlength;//当前表长}sllist;//静态链表类型为了进行基数排序,需要定义在分配和收集操作时用到的指针数组:typedefintarrtype_n[10];//十进制数字指针数组typedefintarrtype_c[26];//26个字母指针数组2.算法实现(1
5、)一趟分配算法voiddistribute(slnode*sl,inti,arrtype_nf,arrtype_ne){intj,p;for(j=0;j6、ype_nf,arrtype_ne){intj,t;for(j=0;!f[j];j++);//找第一个非空子表sl[0].next=f[j];t=e[j];while(j7、i=2;i--)//按最低位优先依次对各关键字进行分配和收集{distribute(l.sl,i,fn,en);collect(l.sl,i,fn,en);}for(i=1;i>=0;i--){distribute_c(l.sl,i,fc,ec);collect_c(l.sl,i,fc,ec);}}15voidarrange(sllist&l)//按指针链表整理静态链表{int8、p,q,i;slnodetemp;p=l.sl[0].next;for(i=1;i
6、ype_nf,arrtype_ne){intj,t;for(j=0;!f[j];j++);//找第一个非空子表sl[0].next=f[j];t=e[j];while(j7、i=2;i--)//按最低位优先依次对各关键字进行分配和收集{distribute(l.sl,i,fn,en);collect(l.sl,i,fn,en);}for(i=1;i>=0;i--){distribute_c(l.sl,i,fc,ec);collect_c(l.sl,i,fc,ec);}}15voidarrange(sllist&l)//按指针链表整理静态链表{int8、p,q,i;slnodetemp;p=l.sl[0].next;for(i=1;i
7、i=2;i--)//按最低位优先依次对各关键字进行分配和收集{distribute(l.sl,i,fn,en);collect(l.sl,i,fn,en);}for(i=1;i>=0;i--){distribute_c(l.sl,i,fc,ec);collect_c(l.sl,i,fc,ec);}}15voidarrange(sllist&l)//按指针链表整理静态链表{int
8、p,q,i;slnodetemp;p=l.sl[0].next;for(i=1;i
此文档下载收益归作者所有