/*假设以数组se[m]存放循环队列的元素,同时设变量rear和num分别作为队尾指针和队中元素个数的记录。试
讨论判别此循环队列的队满条件,写出相应入队和出队的算法,并通过云行验证之。*/
#include"stdio.h"
#include"malloc.h"
#define maxlen 10
typedef struct{
int data[maxlen];
int num;
int rear;
}SeQueue;
//判断队空
int QueueEmpty(SeQueue *Q){
if(Q->num == 0) return 1;//1为空
else return 0;//0为不空
}
//判断队满
int QueueFull(SeQueue *Q){
if(Q->num == maxlen) return 1;//1为满
else return 0;//0为空
}
//建空队列
SeQueue *SetQueue(){
SeQueue *Q;
Q = (SeQueue *)malloc(sizeof(SeQueue));
Q->num = 0;
Q->rear = 0;//队尾
return Q;
}
//出队列
void Delete (SeQueue *Q){
if(!QueueEmpty(Q)){
讨论判别此循环队列的队满条件,写出相应入队和出队的算法,并通过云行验证之。*/
#include"stdio.h"
#include"malloc.h"
#define maxlen 10
typedef struct{
int data[maxlen];
int num;
int rear;
}SeQueue;
//判断队空
int QueueEmpty(SeQueue *Q){
if(Q->num == 0) return 1;//1为空
else return 0;//0为不空
}
//判断队满
int QueueFull(SeQueue *Q){
if(Q->num == maxlen) return 1;//1为满
else return 0;//0为空
}
//建空队列
SeQueue *SetQueue(){
SeQueue *Q;
Q = (SeQueue *)malloc(sizeof(SeQueue));
Q->num = 0;
Q->rear = 0;//队尾
return Q;
}
//出队列
void Delete (SeQueue *Q){
if(!QueueEmpty(Q)){