#include <iostream>
#include<stdio.h>
#define MaxSize 50
using namespace std;
typedef struct {
int front, rear;
int data[MaxSize];
}sqQueue;
void InitQueue(sqQueue &Q) {
Q.front = 0;
Q.rear = 0;
}
bool isEmpty(sqQueue &Q) { //判空
if (Q.front==Q.rear)// 如果队首队尾指针指向同一个,则为空表
{
return true;
}
else
{
return false;
}
}
bool EnQueue(sqQueue &Q, int x) { //入队
if ((Q.rear+1)%MaxSize==Q.front)
{
return false;
}
else
{
Q.data[Q.rear] = x;
Q.rear = (Q.rear + 1) % MaxSize;
return true;
}
}
bool DeQueue(sqQueue &Q, int &x) { //出队
if (Q.rear==Q.front)
{
return false;
}
else
{
x = Q.data[Q.front];
Q.front = (Q.front + 1) % MaxSize;
return true;
}
}
bool GetHead(sqQueue &Q, int &x) { //查表头
if (Q.front==Q.rear)
{
return false;
}
x = Q.data[Q.front];
return true;
}
bool GetSize(sqQueue Q) { //表中元素个数
return (Q.rear - Q.front + MaxSize)%MaxSize;
}
王道数据结构 循环队列
最新推荐文章于 2023-10-21 17:22:18 发布