⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linklist.cpp

📁 一个航空订票系统。航空客运订票的业务活动包括:查询航线、客票预订和办理退票等运订票系统。本程序用计算机来完成航空客运订票的业务活动(包括:查询航线、客票预订和办理退票等运订票系统)。
💻 CPP
字号:
#include<iostream>
#include<string>
using namespace std;
#include<stdio.h>
#include "LinkList.h"

//初始化链表
void InitList(LinkList * L){
	*L=(LinkList)malloc(sizeof(Node));
	(*L)->next=0;
}

//头插法建立链表
void CreateFromHead(LinkList L){
	Node * s;
	Consumer c;
	int flag=1;
	while(flag){
		printf("name  num  grade\n");
		scanf("%s%d%d",c.name,&c.num,&c.grade);//intputing a node
		if(strcmp(c.name,"$")){
			s=(Node*)malloc(sizeof(Node));
			strcpy(s->data.name,c.name);
			s->data.num=c.num;
			s->data.grade=c.grade;
			s->next=L->next;
            L->next=s;
		}
		else flag=0;
	}
}

//查找,输出
int Get(LinkList L,char x[]){
	Node * p;
	p=L;
	//if(x==0) return 0;
	while((p->next!=0)&&(strcmp(p->data.name,x)>0||strcmp(p->data.name,x)<0))
		p=p->next;
	if(strcmp(p->data.name,x)==0) {
		printf("name:%s num:%d grade:%d\n",p->data.name,p->data.num,p->data.grade);
		return 1;
	}
	else return 0;
}

//按客户名查找定位
Node * Locate(LinkList L,char key[]){//name
	Node * p;
	p=L->next;
	while(p!=0)//null
		if(strcmp(p->data.name,key)>0||strcmp(p->data.name,key)<0)
			p=p->next;
		else break;
return p;
}

//表长
int ListLength(LinkList L){
    Node * p;
	int j=0;
	p=L->next;
	while(p!=0){                       //null
		p=p->next;
		j++;
	}
	return j;
}

//插入结点
int InsList(LinkList L,int i,Consumer e){//插入到第i个之前
    Node * pre,* s;
	int k;
	if(i<1) return ERROR;
	pre=L;
	k=0;
	while(pre!=NULL&&k<i-1){//null
		pre=pre->next;
		k=k+1;
	}
	if(!pre){
		printf("It is not a reasonable position.\n");
			return ERROR;
	}
	s=(Node*)malloc(sizeof(Node));
	s->data=e;
	s->next=pre->next;
	pre->next=s;
	return OK;
}//insert

//删除结点
int DelList(LinkList L,char e[]){//type
    Node * pre,* r;
	pre=L;
	while(pre->next!=0 && strcmp(pre->data.name,e)){
		pre=pre->next;
	}
	if(!(pre->next) || strcmp(pre->next->data.name , e)){
		printf("The position of the node to be deleted is not reasonable.\n");
        return ERROR;
	}
	r=pre->next;
	pre->next = pre->next->next;
	free(r);
    return OK;
}//delete
/*int main(){
	LinkList L;
	Consumer c;
	InitList(&L);
    CreateFromHead(L);
	DelList(L,"name");
	/*printf("name  num  grade\n");
	scanf("%s%d%d",c.name,&c.num,&c.grade);
	InsList(L,3,c);
	Get(L,"hzf");
	return 1;
}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -