#include <iostream>
#include<stdio.h>
#define MaxSize 50
using namespace std;
typedef struct {
int data[MaxSize];
int front, rear;
}SqQueue;
void InitQueue(SqQueue &Q) { //初始化
Q.front = 0;
Q.rear = 0;
}
bool QueueEmpty(SqQueue &Q) { //判空
if (Q.front==Q.rear)
{
cout << "表空" << endl;
}
else
{
cout << "表非空" << endl;
}
}
bool EnQueue(SqQueue &Q, int &x) { //入队
if (Q.rear==MaxSize) //队满
{
return false;
}
Q.data[Q.rear++] = x; //初始化尾指针从0开始所以是rear++,然后赋值
return true;
}
bool DeQueue(SqQueue & Q, int &x) { //出队
if (Q.rear==Q.front)//队空
{
return false;
}
x = Q.data[Q.front++];//先取队头元素值,再将队头指针加1
return true;
}
bool GetHead(SqQueue &Q, int &x) {//查表头
if (Q.rear==Q.front)
{
return false;
}
x = Q.data[Q.front];
return true;
}
王道数据结构 顺序队列基本操作
最新推荐文章于 2022-08-30 20:25:22 发布