- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计任务书
12级卓越电子专业
学号 :120910115
姓名:刘强
信息科学与技术学院
2013年12月
设计题目
课题一 航空订票系统
要求
详细设计
#includestdio.h
#includestring.h
#includestdlib.h
#includemath.h
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
typedef int Status;
typedef struct Flight//航班信息
{
char FlightNumber[10];//航班号
char SPlace[10];//起始地
char DPlace[10];//目的地
char Stime[10];//起飞时间
char Etime[10];//降落时间
int price;//票价
int RemnantSeat;//剩余座位数
}
Flight;
struct Flight e;
typedef struct Flight ElemType;
typedef struct Order//订单信息
{
int OrderNumber;//订单编号
char PName[15];//乘客姓名
char ID[20];//身份证号
char FlightNumber[10];//航班号
int num;//订票数量
}
Order;
struct Order f;
typedef struct Order ElemType2;/* 线性表的单链表存储结构 */
struct LNode
{
ElemType data;
struct LNode *next;
};
typedef struct LNode *LinkList;
LinkList Fl;
struct LNode2
{
ElemType2 data;
struct LNode2 *next;
};
typedef struct LNode2 *LinkList2;
LinkList2 Ol;/* 单链表结构初始化 */
Status InitList(LinkList *L)
{
*L=(LinkList)malloc(sizeof(struct LNode));
if(!*L)
exit(OVERFLOW);
(*L)-next=NULL;
return OK;
}
int ListLength(LinkList L)
{
int i=0;
LinkList p=L-next;//p 指向首元素
while(p)
{
i++;
p=p-next;
}
return i;
}
Status ListInsert(LinkList L,int i,ElemType e)
{ /*在带头结点的单链表 L 中第 i 个位置之前插入元素 e*/
int j=0;
LinkList p=L,s;
while(pji-1)//寻找第 i-1 个结点
{
p=p-next;
j++;
}
if(!p||ji-1) return ERROR;//i1 或大于表长
s=(LinkList)malloc(sizeof(struct LNode)); //生成新结点
s-data=e;
s-next=p-next;//插入 L 中
p-next=s;
return OK;
}
Status ListDelete(LinkList L,int i,ElemType *e)
{ /*在带头结点的单链表 L 中删除第 i 个元素,并由 e 返回其值*/
int j=0;
LinkList p=L,q;
while(p-nextji-1) //寻找第 i 个结点,并令 p 指向其前趋
{
p=p-next;
j++;
}
if(!p-next||ji-1) return ERROR;//删除位置不合理
q=p-next;
p-next=q-next;
*e=q-data;
free(q);//删除并释放结点
return OK;
}
Status ListDelete2(LinkList2 L,int i,ElemType2 *f)
{ //
文档评论(0)