数据结构循环队列代码
时间: 2023-08-17 19:04:45 浏览: 97
数据结构中循环队列的代码
以下是一个循环队列的代码实现:
```c++
//类型描述
#define MAXSIZE 10
typedef struct{
int data[MAXSIZE];
int front, rear;
int size;
} sqQueue;
//初始化
void InitQueue(sqQueue &Q){
Q.rear = Q.front = 0;
Q.size = 0;
}
//判断为空
bool Empty(sqQueue Q){
return Q.size == 0;
}
//判断为满
bool Full(sqQueue Q){
return Q.size == MAXSIZE;
}
//入队操作
bool EnQueue(sqQueue &Q, int x){
if(Full(Q))
return false;
Q.data[Q.rear] = x;
Q.rear = (Q.rear + 1) % MAXSIZE;
Q.size++;
return true;
}
//出队操作
bool DeQueue(sqQueue &Q, int &x){
if(Empty(Q))
return false;
x = Q.data[Q.front];
Q.front = (Q.front + 1) % MAXSIZE;
Q.size--;
return true;
}
```
这段代码实现了循环队列的基本操作,包括初始化队列、判断队列是否为空、判断队列是否为满、入队操作和出队操作。循环队列的特点是可以循环利用存储空间,避免了队列满时无法继续入队的问题。
阅读全文