数据结构课程设计航班信息查询与检索

合集下载

数据结构课程设计--航班信息查询与检索系统

数据结构课程设计--航班信息查询与检索系统

一、设计题目

设计一个航班信息查询与检索系统。

二、基本要求

1、每个航班记录包括八项:航班号、起始站、终点站、班期、起飞时间、到达时间、飞机型号、票价。

2、要有输入模块

3、对航班信息进行排序与查找。

三、运行环境

CPU:奔腾3;操作系统:Windows 98;编程工具:TC2.0。

四、算法设计思想

1、设计思路

根据题目所要求,程序必须实现航班信息的录入和查询。程序首先定义了一个用于储存航班信息的数据类型,再由用户录入航班数据,在录入的同时并对数据进行排序,最后执行数据查询和检索。在查询设计中,使用二分查找法对排好序的航班数据按航班号实现快速查找,按起点站、终点站、起飞时间、到达时间查找的则采用顺序查询方法。

2、流程图

3、各函数说明

(1)、一趟数字字符分配函数

void distribute(slnode *sl,int i,arrtype_n f,arrtype_n e)

(2)、一趟数字字符收集函数

void collect(slnode *sl,int i,arrtype_n f,arrtype_n e)

(3)、一趟字母字符分配函数

void distribute_c(slnode *sl,int i,arrtype_c f,arrtype_c e)

(4)、一趟字母字符收集函数

void collect_c(slnode *sl,int i,arrtype_c f,arrtype_c e)

(5)、链式基数排序函数

void radixsort(sllist &l)

(6)、按指针链重新整理静态链表void arrange(sllist &l)//重新整理(7)、二分查找函数

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

算法与数据结构实验报告航班查询与检索

题目:航班查询与检索

指导老师:

组长:

成员:

一:航班信息的查询与检索

按时间查询:

按站点查询:

二分法查询:

二:

算法分析:程序主要采用结构体链表顺序表队列主要算法:/*航班信息的查询与检索*/

三:/*航班信息的查询与检索*/

#include

#include

#include

#define N 6 //航班数

//航班信息

typedef struct flight

{

char flight_number[10]; //航班号

char start_address[10]; //起飞站

char arrived_address[10]; //终点站

char work_date[10]; //班期

char start_time[6]; //起飞时间

char arrived_time[6]; //到达时间

char FlightType[4]; //机型

int fare; //票价

}DataType;

struct flight Flight[N];

//-----------按航班号进行基数排序-----------

typedef char KeyType;

#define D 7 // D为排序码的最大位数

#define R 'a' // R为基数,这里为小于字母'a'代表的整型值struct Node; //单链表结点类型

typedef struct Node RadixNode;

struct Node

{

KeyType key[D]; //关键字

DataType info; //数据信息

数据结构课程设计航班信息查询与检索之欧阳地创编

数据结构课程设计航班信息查询与检索之欧阳地创编

学院名称

《数据结构》课程设计报告

题目——航班信息查询与检索

班级:

姓名:

时间:2012/12/29---2013/1/5

二○一二年十二月二十九日

课程设计任务书及成绩评定

航班信息查询与检索

课题名

Ⅰ、题目的目的和要求:

1、设计目的

巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,最终使学生能够熟练应用数据结构的知识写程序。

(1)通过本课程的学习,能熟练掌握几种基本数据结构的基本操作。

(2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。

2、设计题目要求:

问题描述:该设计要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。

任务要求:对于本设计,可采用基数排序法对一组具

有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行,因此他们用得较少。每个航班记录包括八项,分别是:航班号、起点站、终点站、班期、起飞时间、到达时间、飞

K0 K1 K2 K3

写字母标示,后4位为航班号,这种航班号关键字可分成两段,即字母和数字。其余七项输入内容因为不涉及本设计的核心,因此除了票价为数值型外,均定义为字符串即可。

Ⅱ、设计进度及完成情况

Ⅲ、主要参考文献及资料

[1] 严蔚敏数据结构(C语言版)清华大学出版社 1999

[2] 严蔚敏数据结构题集(C语言版)清华大学出版社1999

[3] 谭浩强 C语言程序设计清华大学出版社

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

算法与数据结构实验报告航班查询与检索

题目:航班查询与检索

指导老师:

组长:

成员:

一:航班信息的查询与检索

按时间查询:

二分法查询:

二:

算法分析:程序主要采用结构体链表顺序表队列主要算法:/*航班信息的查询与检索*/

三:/*航班信息的查询与检索*/

#include<iostream.h>

#include<string.h>

#include<stdio.h>

#define N 6 //航班数

//航班信息

typedef struct flight

{

char flight_number[10]; //航班号

char start_address[10]; //起飞站

char arrived_address[10]; //终点站

char work_date[10]; //班期

char start_time[6]; //起飞时间

char arrived_time[6]; //到达时间

char FlightType[4]; //机型

int fare; //票价

}DataType;

struct flight Flight[N];

//-----------按航班号进行基数排序-----------

typedef char KeyType;

#define D 7 // D为排序码的最大位数

#define R 'a' // R为基数,这里为小于字母'a'代表的整型值struct Node; //单链表结点类型

typedef struct Node RadixNode;

struct Node

数据结构课程设计航班查询与检索含代码流程图输出结果范本

数据结构课程设计航班查询与检索含代码流程图输出结果范本

数据结构课程设计航班查询与检索含代码流程图输出结

算法与数据结构实验报告

航班查询与检索

题目:航班查询与检索

指导老师:

组长:

成员:

一:航班信息的查询与检索

按时间查询:

按站点查询:

二分法查询:

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

算法与数据结构实验报告航班查询与检索

题目:航班查询与检索

指导老师:

组长:

成员:

一:航班信息的查询与检索

按时间查询:

按站点查询:

二分法查询:

二:

算法分析:程序主要采用结构体链表顺序表队列主要算法:/*航班信息的查询与检索*/

三:/*航班信息的查询与检索*/

#include

#include

#include

#define N 6 //航班数

//航班信息

typedef struct flight

{

char flight_number[10]; //航班号

char start_address[10]; //起飞站

char arrived_address[10]; //终点站

char work_date[10]; //班期

char start_time[6]; //起飞时间

char arrived_time[6]; //到达时间

char FlightType[4]; //机型

int fare; //票价

}DataType;

struct flight Flight[N];

//-----------按航班号进行基数排序-----------

typedef char KeyType;

#define D 7 // D为排序码的最大位数

#define R 'a' // R为基数,这里为小于字母'a'代表的整型值struct Node; //单链表结点类型

typedef struct Node RadixNode;

struct Node

{

KeyType key[D]; //关键字

DataType info; //数据信息

中南民族大学(003)(课程设计报告)(10061103)(张名扬)

中南民族大学(003)(课程设计报告)(10061103)(张名扬)

//将文件中的数据传递给变量
{
ifstream in_stream;
in_stream.open("flyinfo.txt");
//文件读取操作
if(in_stream.fail())
{
//判断文件是否成功打开
cout<<"fail!!!!!!!!!!!!!"<<endl;
exit(1);
}
for(int i=1;!in_stream.eof()&&(i<16);i++)
****************************************\n"<<endl;
cout<<"航班号 起飞时间 到达时间 起飞站 终点站 班期 机型 票价
余票\n"<<endl;
百度文库
}
//显示主体信息
void Cout_info2_1(Node p[])//方式一
{
cout<<" "<<p->info. f_num;
姓名 : 张名扬
抽象数据类型定义
《数据结构》课程设计
void F_By_FN(flight F[])
//通过航班号实现二分查找法查找 void

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

算法与数据结构实验报告

航班查询与检索

题目:航班查询与检索

指导老师:

组长:

成员:

一:航班信息得查询与检索

按时间查询:

按站点查询:

二分法查询:

二:

算法分析:程序主要采用结构体链表顺序表队列主要算法:/*航班信息得查询与检索*/

三:/*航班信息得查询与检索*/

#include<iostream、h>

#include

#include

#defineN 6//航班数

//航班信息

typedef struct flight

{

char flight_number[10];//航班号

charstart_address[10];//起飞站

char arrived_address[10];//终点站

char work_date[10];//班期

char start_time[6];//起飞时间

chararrived_time[6];//到达时间

char FlightType[4]; //机型

int fare;//票价

}DataType;

struct flight Flight[N];

//----—-----—按航班号进行基数排序——---——----

typedef charKeyType;

#define D 7 // D为排序码得最大位数

#defineR 'a' //R为基数,这里为小于字母’a'代表得整型值

struct Node; //单链表结点类型

typedef struct Node RadixNode;

structNode

{

KeyType key[D];//关键字

DataType info;//数据信息

数据结构课程设计航班信息查询与检索

数据结构课程设计航班信息查询与检索

学院名称

《数据结构》课程设计报告题目——航班信息查询与检索

班级:

姓名:

时间:2012/12/29---2013/1/5

二○一二年十二月二十九日

课程设计任务书及成绩评定

课题名称航班信息查询与检索

Ⅰ、题目的目的和要求:

1、设计目的

巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,

最终使学生能够熟练应用数据结构的知识写程序。

(1)通过本课程的学习,能熟练掌握几种基本数据结构的基本操作。

(2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正

确求解过程并编写代码实现。

2、设计题目要求:

问题描述:该设计要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。

任务要求:对于本设计,可采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行,因此他们用得较少。每个航班记录包括八项,分别是:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价等,

这种航班号关键字可分成两段,即字母和数字。其余七项输入内容因为不涉及本设计的核心,因此除了票价为数值型外,均定义为字符串即可。

Ⅱ、设计进度及完成情况

Ⅲ、主要参考文献及资料

[1] 严蔚敏数据结构(C语言版)清华大学出版社1999

[2] 严蔚敏数据结构题集(C语言版)清华大学出版社1999

[3] 谭浩强C语言程序设计清华大学出版社

[4] 与所用编程环境相配套的C语言或C++相关的资料

数据结构课程设计--城市交通咨询系统、航班信息的查询与检索

数据结构课程设计--城市交通咨询系统、航班信息的查询与检索

课程设计题目:城市交通咨询系统

一、课程设计的原始资料及依据

在交通网络非常发达,交通工具和交通方式不断更新的今天,人们的出差、旅游或做其他的出行时,不仅关心节省交通运费问题,而且对里程和所需要时间等问题感兴趣。可用一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。图中顶点表示城市,边表示城市之间的交通关系。这个交通咨询系统可用回答旅客提出的各种问题。

二、课程设计主要内容及要求

1. 建立交通网络图的存储结构。

2. 画出主要的功能结构图和主要模块的流程图。

3. 使用迪杰斯特拉算法:求一个城市到其它所有城市最短路径。

4. 使用弗洛伊德算法:求任意两个城市间最短路径。

三、对课程设计说明书撰写内容、格式、字数的要求

1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、设计小组评语、参考文献等。一般不应少于3000字。

2.在适当位置配合相应的实验原理图、数据通路图、微程序流程图、实验接线图、微指令代码表等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。

3.设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。设计小组评语处注明设计组编号、设计组组长、设计组成员,并由设计组组长给出评语。 4.课程设计说明书手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。

数据结构课程设计--航班信息查询与检索系统

数据结构课程设计--航班信息查询与检索系统

《数据结构》课程设计报告题目:航班信息查询与检索

专业:

班级:

学号:

姓名:

任课老师:

2010年12月26日

目录

一、设计题目 (1)

二、设计要求 (2)

三、概要设计 (2)

1.设计思路 (2)

2.流程图 (2)

四、详细设计 (3)

1.定义数据类型 (3)

2.算法实现 (3)

五、测试数据 (6)

1.录入航班信息 (6)

2.航班信息查询 (7)

六、收获与体会 (8)

一、设计题目

设计一个航班信息查询与检索系统。可按航班的航班号、起点站、终点站、起飞时间以及到达时间等信息进行查询。

二、设计要求

1、每个航班记录包括八项:航班号、起始站、终点站、班期、起飞时间、到达时间、飞机型号、票价。如下表所示:

航班信息表

航班号起点站终点站航班期起飞时机到达时间机型票价

CA1544 合肥北京 1.2.5 1055 1240 733 960

2、要有输入模块。

3、对航班信息进行排序与查找。

三、概要设计

1、设计思路

根据题目所要求,程序必须实现航班信息的录入和查询。程序首先定义了一个用于储存航班信息的数据类型,再由用户录入航班数据,在录入的同时并对数据进行排序,最后执行数据查询和检索。在查询设计中,使用二分查找法对排好序的航班数据按航班号实现快速查找,按起点站、终点站、起飞时间、到达时间查找的则采用顺序查询方法。

2、流程图

四、详细设计

1 . 定义数据类型

根据设计要求,设计中所用到的数据记录只有航班信息,因此要定义相关的数据类型:

typedef struct {

char start[6]; //起点站

char end[6]; //终点站

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

算法与数据结构实验报告航班查询与检索

题目:航班查询与检索

指导老师:

组长:

成员:

一:航班信息的查询与检索

按时间查询:

按站点查询:

二分法查询:

二:

算法分析:程序主要采用结构体链表顺序表队列主要算法:/*航班信息的查询与检索*/

三:/*航班信息的查询与检索*/

#include<>

#include<>

#include<>

#define N 6 =NULL; queue[i].e=NULL; ==NULL) queue[k].f=p; ->next=p; =p;

p=p->next;

}

i=0;

while(queue[i].f==NULL) i++; ; head=queue[i].f; !=NULL)

{ p->next=queue[i].f; p=queue[i].e; } light_number;

cout<<" "<

cout<<" "<

cout<<" "<

cout<<" "<

cout<<" "<

cout<<" "<

cout<<" "<

}

light_number,p->;

strcpy(F[i].start_time,p->;

strcpy(F[i].arrived_time,p->;

strcpy(F[i].start_address,p->;

strcpy(F[i].arrived_address,p->;

strcpy(F[i].work_date,p->;

strcpy(F[i].FlightType,p->;

F[i].fare=p->;

p=p->next;

}

}

show the mainmenu (显示主菜单)\n"<

航班信息的查询与检索系统

航班信息的查询与检索系统

航班信息查询与检索

一、问题描述

实现对飞机航班信息进行排序和查找,可按照航班号、起点站、到达站、起飞时间和到

达时间等信息进行查询。航班信息表的样式如下:

航班号起点站终点站班期起飞时间到达时间机型票价

510:55 12: 40 733 960

CA1544 合肥北京1、 2、

4、

MU5341 上海广州每日14:20 16:15 M90 1280

CZ3869 重庆深圳2、4、6 08:55 10:35 733 1010

其中航班号一项的格式为:前两个大写字母表示航空公司的名称,后4位为航班编号。

基本要求:

(1)对飞机航班信息进行排序;

(2)采用折半查找思想完成查找。可按照航班号、起点站、到达站、起飞时间和到达

时间等信息进行查询。

测试数据要求:

测试的数据不得少于10个,不得有重复的航班。

二、设计思想

根据题目所要求,程序必须实现航班信息的录入和查询。程序首先定义了一个用于储

存航班信息的数据类型,再由用户录入航班数据,在录入的同时并对数据进行排序,最后

执行数据查询和检索。在查询设计中,使用二分查找法对排好序的航班数据按航班号实现

快速查找,按起点站、终点站、起飞时间、到达时间查找的则采用顺序查询方法。

三、数据描述

typedef struct node{

char number[MAXN]; //航班号

time start; //起飞时间

time end; //到达时间

char start_station[MAXN]; //起点站

char end_station[MAXN]; //终点站

char type[MAXN]; //飞机型号

(管理流程图)数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

(管理流程图)数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

算法与数据结构实验报告航班查询与检索

题目:航班查询与检索

指导老师:

组长:

成员:

一:航班信息的查询与检索

初始化信息

进行排序

主菜单显示输入查询序号判断序号是否合法

按航班号查询按时间

查询

按地点

查询

按票价

查询

输出航班信息

结束

开始

按时间查询:

按站点查询:

开始

输入票价范围

判断有无符合条件票价

输出相应信息

返回查询信息

按票价范围查询

输入查询时间

Time=1

按抵达时间查询

按起飞时间查询

返回查询信息

开始

是 否

二分法查询:

开始

返回查询信息

输入起点终点及AD

AD=1?

按目的站查询

按起点站查询

二:

算法分析:程序主要采用结构体 链表 顺序表 队列

主要算法:/*航班信息的查询与检索*/ 三:/*航班信息的查询与检索*/

#include #include

输入航班号

开始

输入航班号对应序列号

High=mid+1

Low<=hi gh

Num=F[mid].flight_number

Mid=(high+low)/2

Num

Low=mid+1

返回

#include

#define N 6 //航班数

//航班信息

typedef struct flight

{

char flight_number[10]; //航班号

char start_address[10]; //起飞站

char arrived_address[10]; //终点站

char work_date[10]; //班期

char start_time[6]; //起飞时间

char arrived_time[6]; //到达时间

char FlightType[4]; //机型

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

数据结构课程设计-航班查询与检索(含代码、流程图、输出结果)

算法与数据结构实验报告

航班查询与检索

题目:航班查询与检索

指导老师:

组长:

成员:

一:航班信息的查询与检索

按时间查询:

按站点查询:

二分法查询:

二:

算法分析:程序主要采用结构体链表顺序表队列主要算法:/*航班信息的查询与检索*/

三:/*航班信息的查询与检索*/

#include<>

#include<>

#include<>

#define N 6 =NULL; queue[i].e=NULL; ==NULL) queue[k].f=p; ->next=p; =p;

p=p->next;

}

i=0;

while(queue[i].f==NULL) i++; ; head=queue[i].f; !=NULL)

{ p->next=queue[i].f; p=queue[i].e; } light_number;

cout<<" "<

cout<<" "<

cout<<" "<

cout<<" "<

cout<<" "<

cout<<" "<

cout<<" "<

}

light_number,p->;

strcpy(F[i].start_time,p->;

strcpy(F[i].arrived_time,p->;

strcpy(F[i].start_address,p->;

strcpy(F[i].arrived_address,p->;

strcpy(F[i].work_date,p->;

strcpy(F[i].FlightType,p->;

F[i].fare=p->;

p=p->next;

}

}

show the mainmenu (显示主菜单)\n"<

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

学院名称

《数据结构》课程设计报告题目——航班信息查询与检索

班级:

姓名:

时间:2012/12/29---2013/1/5

二○一二年十二月二十九日

课程设计任务书及成绩评定

航班信息查询与检索

课题

名称

Ⅰ、题目的目的和要求:

1、设计目的

巩固和加深对数据结构的理解,通过上机实验、调试程序,加深对课本知识的理解,最终使学生能够熟练应用数据结构的知识写程序。

(1)通过本课程的学习,能熟练掌握几种基本数据结构的基本操作。

(2)能针对给定题目,选择相应的数据结构,分析并设计算法,进而给出问题的正确求解过程并编写代码实现。

2、设计题目要求:

问题描述:该设计要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。

任务要求:对于本设计,可采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行,因此他们用得较少。每个航班记录包括八项,分别是:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价等,

这种航班号关键字可分成两段,即字母和数字。其余七项输入内容因为不涉及本设计的核心,因此除了票价为数值型外,均定义为字符串即可。

Ⅱ、设计进度及完成情况

Ⅲ、主要参考文献及资料

[1] 严蔚敏数据结构(C语言版)清华大学出版社 1999

[2] 严蔚敏数据结构题集(C语言版)清华大学出版社 1999

[3] 谭浩强 C语言程序设计清华大学出版社

[4] 与所用编程环境相配套的C语言或C++相关的资料

Ⅳ、成绩评定:

设计成绩:(教师填写)

指导老师:(签字)

二○一三年一月五日

目录

一、概述 (6)

二、系统分析 (6)

三、概要设计 (6)

四、详细设计 (7)

1.定义数据类型 (7)

2.算法实现 (8)

五、测试数据 (10)

六、收获与体会 (13)

七、参考文献 (13)

八、附录 (14)

5

一、概述

课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。《数据结构》是一门重要的专业基础课,是计算机理论和应用的核心基础课程。

数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

本课程设计主要是对排序及查找等进行练习,以链式基数排序为主线,利用二分查找和顺序查找等知识,并建立静态链表,完成对航班信息的查询与检索。我们可以利用航班的这些信息,通过其中的任意一个信息,找出我们所需要的查找的航班的所有信息,所以,我们可以采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排序好的航班记录按航班号实现快速查找,并按其他关键字的查找可以采用最简单的顺序查找方法进行。

二、系统分析

1设计要求

(1) 提供对航班信息的排序功能

(2) 提供对航班信息的输入输出记录功能找出我们所需要的查找的航班的所有信息

(3)提供按关键字(航班号)快速查询或顺序查询功能

2 设计分析

对于本设计,可采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行,因为它们用得比较少。

每个航班记录包括八项,分别是:航班号,起点站,终点站,班期,起飞时间,到达时间,飞机型号以及票价等。其中航班号一项的格式为:

K0 k1 k2 k3 k4 k5

航班关键字可分为两段,即字母和数字。其中k0和k1是航空公司的别称,用两个大写字母表示,后4位为航班编号。

三、概要设计

1、设计思路

根据题目所要求,程序必须实现航班信息的录入和查询。程序首先定义了一个

6

用于储存航班信息的数据类型,再由用户录入航班数据,在录入的同时并对数据进行排序,最后执行数据查询和检索。在查询设计中,使用二分查找法对排好序的航班数据按航班号实现快速查找,按起点站、终点站、起飞时间、到达时间查找的则采用顺序查询方法。

2、流程图

四、详细设计

1 . 定义数据类型

根据设计要求,设计中所用到的数据记录只有航班信息,因此要定义相关的数据类型:[1]

typedef struct {

char start[6]; 算法实现

(1)一趟分配算法[2]

void distribute(slnode *sl,int i,arrtype_n f,arrtype_n e) {

int j,p;

for(j=0;j

{

f[j]=e[j]=0;

}

for(p=sl[0].next;p;p=sl[p].next)

{

j=sl[p].keys[i]%48; ext=p;

e[j]=p; ext=f[j];

t=e[j];

while(j

{

for(j=j+1;j

7

相关文档
最新文档