队列
#include<stdio.h>
#define Max 20
typedef int datatype;
typedef struct Queue{
datatype data[Max];
int front,rear;
}Node;
void init(Node *q){
q->front = 0;
q->rear = 0;
}
void push(Node *q,datatype value){
if((q->rear + 1) % Max == q->front){
printf("顺序队列为满\n");
}else{
q->rear = (q->rear + 1) % Max;
q->data[q->rear] = value;
}
}
datatype pop(Node *q){
if(q->front == q->rear){
printf("顺序队列为空\n");
}else{
datatype x;
q->front = (q->front +1) % Max;
x = q->data[q->front];
return x;
}
}
void Pankong(Node *q){
if(q->front == q->rear){
printf("顺序队列为空\n");
}else if((q->rear + 1) % Max == q->front){
printf("顺序队列为满\n");
}else{
printf("顺序队列不为空\n");
}
}
int Gettop(Node *q){
return q->data[q->front+1];
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-51241.html