📄 queue.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#include "../header/bitree.h"
#include "../header/queue.h"
#include "../header/stack.h"
#include "../header/expr.h"
Status InitQueue( Queue & Q )
//构造一个空队列
{
Q.front = Q.rear = ( QuePtr )malloc( sizeof( QNode ) );
if( !Q.front )
return FALSE;
Q.front->next = NULL;
return OK;
}
Status DestroyQueue( Queue &Q )
//销毁队列
{
while( Q.front )
{
Q.rear = Q.front->next;
free( Q.front );
Q.front = Q.rear;
}
return OK;
}
Status QueueEmpty( Queue Q )
//判空
{
return Q.front == Q.rear;
}
Status EnQueue( Queue &Q, QElemType e )
//插入元素e为Q的新的队尾元素
{
QuePtr p;
p = ( QuePtr )malloc( sizeof( QNode ) );
if( !p )
return FALSE;
p->data = e;
p->next = NULL;
Q.rear->next = p;
Q.rear = p;
return OK;
}
Status DeQueue( Queue &Q, QElemType &e )
//删除队头元素,用e返回其值,并返回OK,否则返回ERROR;
{
if( Q.front == Q.rear )
return ERROR;
QuePtr p = Q.front->next;
e = p->data;
Q.front->next = p->next;
if( Q.rear == p )
Q.rear = Q.front;
free( p );
return OK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -