ct passengernode{//定义客户资料结点Р char name[20]; //姓名Рchar flight_num[10];//航班号Р int id_place; //座位号Р struct passengernode *next;//指向下一个结点Р}passengernode;Р Р(2)客户链表:每个数据元素包括头指针和尾指针两个数据项:Р每个结点包括两个指针域:Р头指针域Р尾指针域РC语言描述如下:Рtypedef struct passengerList{Р passengernode *head;Р passengernode *rear;Р}passengerList;Р Р (3)链表的插入Рint book(flightnode *&h,passengerList *&PList)函数调用int insert_passenger(passengernode *&h,char *name,char *ID_num,char *flight_num, int id_place)函数,将新客户结点插入客户链表中。Р3.4.3 退票模块Р与订票函数相类似,只做稍稍修改就行退票成功是用s[i].count=s[i].count+n; 将航班的剩余票数加上去以显示即时航班信息。Р图4 退票模块Р线性链表的删除:Рvoid delete_flight(flightnode *&h,passengerList *&PList)Р//目的要按照某个航班号删除航班结点Рint delete_passenger(passengerList *&PList,flightnode *&h,char *name,char *ID_num)Р//目的是按照要退票的顾客的姓名查找该顾客结点,进行删除操作Р3.4.4 航班信息查询模块Р即查询所有航班信息Р3.5设计结果验证