📄 linkqueue.cpp
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -