📄 cirqueue.cpp
字号:
/************************************
* Copyright (c) 2008,LDCI
*
* 文件名称: CirQueue.cpp
* 摘要:
* 使用 C 语言实现对顺序存储结构的队列
* 时间:
* 2008-5-4
* 作者:
* 左建华
*
************************************/
#include <stdlib.h>
#include <stdio.h>
#define QUEUESIZE 100
typedef char DataType;
typedef struct
{
int nFront;
int nRear;
int nCount;
DataType data[QUEUESIZE];
}CirQueue;
void Error(char* _pchMessage);
void InitQueue(CirQueue *_pQueue)
{
//将顺序栈置空
for(int i=0; i<QUEUESIZE; i++)
{
_pQueue->data[i] = 0;
}
_pQueue->nFront = 0;
_pQueue->nRear = 0;
_pQueue->nCount = 0;
}
int QueueEmpty(CirQueue *_pQueue)
{
return _pQueue->nCount == 0;
}
int QueueFull(CirQueue *_pQueue)
{
return _pQueue->nCount == QUEUESIZE;
}
void EnQueue(CirQueue *_pQueue, DataType _x)
{
if( QueueFull(_pQueue) )
{
Error("Queue overflow.");
return;
}
_pQueue->nCount++;
_pQueue->data[_pQueue->nRear] = _x;
_pQueue->nRear = (_pQueue->nRear+1)%QUEUESIZE;
}
DataType DeQueue(CirQueue *_pQueue)
{
if( QueueEmpty(_pQueue) )
{
Error("Queue underflow.");
return -1;
}
DataType temp;
temp = _pQueue->data[_pQueue->nFront];
_pQueue->nCount--;
_pQueue->nFront = (_pQueue->nFront+1)%QUEUESIZE;
return temp;
}
DataType QueuenFront(CirQueue *_pQueue)
{
if( QueueEmpty(_pQueue) )
{
Error("Queue underflow.");
return -1;
}
return _pQueue->data[_pQueue->nFront];
}
void Error(char* _pchMessage)
{
fprintf(stderr, "Error: %s\n", _pchMessage);
}
int main(int agrc, char** argv)
{
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -