注意出队,入队,判满,求大小条件。
包含:循环队列的定义,入队操作,出队操作。
#include<iostream>
#include<malloc.h>
#define Maxsize 50
using namespace std;
typedef int ElemType;
//循环队列的定义
typedef struct{
ElemType data[Maxsize];
int front , rear;//队头指针,队尾指针//
}SqQueue;
//入队操作//
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;
}