順序佇列的入隊出隊運算
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef int datatype;
typedef struct node//順序佇列 定義
{
datatype data[MAXSIZE+1];
datatype head,rear;
}sequeue;
sequeue *sq,SQ;
datatype x;
int SQ_ENSQUEUE(sequeue *sq,datatype x)//順序佇列的入隊運算
{
if(sq->rear==MAXSIZE-1)
{
printf("隊滿");
return 0;
}
else
{
sq->rear++;
sq->data[sq->rear]=x;
}
}
int SQ_DEUEUE(sequeue *sq)//順序佇列的出隊運算
{
if(sq->head==sq->rear)
{
printf("隊空");
return 0;
}
else
{
sq->head++;
return (sq->data[sq->head]);
}
}
int main()
{ sq=&SQ;
int SQ_ENSQUEUE(sequeue *sq,datatype x);
int SQ_DEUEUE(sequeue *sq);
scanf("%d",&x);
SQ_ENSQUEUE(&SQ,x);
printf("%d",SQ_DEUEUE(&SQ));
return 0;
}