linkqueue.cpp

来自「一个航空订票系统。航空客运订票的业务活动包括:查询航线、客票预订和办理退票等运订」· C++ 代码 · 共 60 行

CPP
60
字号

#include<stdio.h>
#include<malloc.h>
#include<string.h>

#include "LinkQueue.h"


//初始化队列
int InitQueue(LinkQueue* Q){
	Q->front = (LinkQueueNode* ) malloc(sizeof(LinkQueueNode));
	if(Q->front != NULL){
		Q->rear = Q->front;
		Q->front->next = NULL;
		return TRUE;
	}
	else return FALSE;
}

void assign(Consumer& a,Consumer& b){
	strcpy(a.name,b.name);
	a.grade = b.grade;
	a.num = b.num;
}
//入队操作
int EnterQueue(LinkQueue* Q, Consumer x){
	LinkQueueNode* newNode;
	newNode = (LinkQueueNode*) malloc(sizeof(LinkQueueNode));
	if(newNode != NULL){

		assign(newNode->data , x);		
		newNode->next = NULL;
		Q->rear->next = newNode;
		Q->rear = newNode;
		return TRUE;
	}

	else return FALSE;
}


//判断队列是否为空
int IsEmpty(LinkQueue* Q){
	return Q->front == Q->rear;
}


//出队操作
int DeleteQueue(LinkQueue* Q,Consumer* x){
	LinkQueueNode* p;
	if(IsEmpty(Q)) return FALSE;	//如果队列为空,出错
	p = Q->front->next;
	Q->front->next = p->next;
	if(Q->rear == p) Q->rear = Q->front;

	*x = p->data;
	free(p);
	return FALSE;
}

⌨️ 快捷键说明

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