📄 链队列.cpp
字号:
#include<stdio.h.>
#include<stdlib.h>
#define QElemType int
#define Status int
#define OVERFLOW 0
#define NULL 0
#define OK 1
#define ERROR 0
typedef struct QNode{
QElemType data;
struct QNode *next ;
} QNode,*QueuePtr;
typedef struct{
QueuePtr front;
QueuePtr rear;
}LinkQueue;
Status InitQueue(LinkQueue &Q);
Status EnQueue(LinkQueue &Q,QElemType e);
Status Deueue(LinkQueue &Q,QElemType &e);
Status Creat(LinkQueue &Q);
void main(){
Status InitQueue(LinkQueue &Q){
Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));
if(!Q.front)exit(OVERFLLOW);
Q.front->next=NULL;
return OK;
}
Status EnQueue(LinkQueue &Q,QElemType e){
QueuePtr p;
p=(QueuePtr)malloc(sizeof(QNode));
if(!p)exit(OVERFLOW);
p->data=e;
p->next=NULL;
Q.rear->next=p;
Q.rear=p;
return OK;
}
Status Deueue(LinkQueue &Q,QElemType &e){
QueuePtr p;
if(Q.front==Q.rear)return ERROR;
p=Q.front->next;
e=p->data;
q.front->next=p->next;
if(Q.rear==p)Q.rear=Q.front;
free(p);
return OK;
}
Status Creat(LinkQueue &Q){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -