#include <stdio.h>
#include <stdbool.h>
typedef int ElemType;
#define MaxSize 50
typedef struct {
ElemType data[MaxSize];
int front, rear;
}SqQueue;
//初始化
void InitQueue(SqQueue Q) {
Q.rear = Q.front = 0;
}
//判队空
bool isEmpty(SqQueue Q) {
if (Q.rear == Q.front)
return true;
else
return false;
}
//入队
bool EnQueue(SqQueue Q, ElemType x) {
if ((Q.rear + 1) % MaxSize == Q.front)
return false;
Q.data[Q.rear] = x;
Q.rear = (Q.rear + 1) % MaxSize;
return true;
}
//出队
bool DeQueue(SqQueue Q, ElemType x) {
if (Q.rear == Q.front)
return false;
x = Q.data[Q.front];
Q.front = (Q.front + 1) % MaxSize;
return true;
}
队列的链式存储结构(循环队列)
最新推荐文章于 2024-07-26 18:54:25 发布
本文介绍了如何在C语言中使用结构体和宏定义创建一个大小为50的队列(SqQueue),包括初始化、判断队列是否为空、入队和出队操作的函数实现。
摘要由CSDN通过智能技术生成