您的位置:首页 > 编程语言 > C语言/C++

队列的顺序存储及实现(C++版)

2014-05-23 15:39 281 查看
队列是一种特殊的线性表,它包含一个队头和一个队尾。其中,队头只允许删除元素,队尾只允许插入元素。队列的特点是先进先出(FIFO)。

顺序队列定义如下:

#define QueueSize 40
typedef struct Squeue
{
DataType queue[QueueSize];
int front,rear;
}SeqQueue;


算法的实现:

(1)队列的初始化操作。

void InitQueue(SeqQueue *SQ)
{
SQ->front=SQ->rear=0;
}


(2)判断队列是否为空。

int QueueEmpty(SeqQueue SQ)
{
if (SQ.front==SQ.rear)
{
return 1;
}
else
{
return 0;
}
}


(3)入队操作。

int EnterQueue(SeqQueue *SQ,DataType x)
{
if (SQ->rear==QueueSize)
{
return 0;
}
SQ->queue[SQ->rear++]=x;
return 1;
}


(4)出队操作。

int DeleteQueue(SeqQueue *SQ,DataType *x)
{
if (SQ->rear==SQ->front)
{
return 0;
}
*x=SQ->queue[SQ->front++];
return 1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: