#ifndef _QUEUE_H_INLCUDE
#define _QUEUE_H_INLCUDE
#define QUEUE_MAXSIZE 10
typedef struct
{
int * queue;
int front,rear;
} Queue;
void InitQueue(Queue &Q);
void EnterQueue(Queue &Q, int x);
void ExitQueue(Queue &Q, int &x);
int QueueEmpty(Queue Q);
#endif
/************************************************************************/
/* queue operation */
/************************************************************************/
#include "Queue.h"
#include
#include
void InitQueue(Queue &Q)
{
Q.front = 0;
Q.rear = 0;
Q.queue = (int * )malloc(sizeof(int) * QUEUE_MAXSIZE);
if(Q.queue == NULL)
{
printf("allocate memory failed/n");
exit(-2);
}
}
void EnterQueue(Queue &Q, int x)
{
if ((Q.rear + 1) % QUEUE_MAXSIZE == Q.front)
{
printf("queue is full, enter queue failed/n");
} else
{
Q.queue[Q.rear] = x;
Q.rear = (Q.rear + 1) % QUEUE_MAXSIZE;
}
}
void ExitQueue(Queue &Q, int & x)
{
if (Q.front == Q.rear)
{
printf("queue is empty, delete from queue failed/n");
x = -1;
}
else
{
x= Q.queue[Q.front];
Q.front = (Q.front + 1) % QUEUE_MAXSIZE;
}
}
/*
if Queue is empty return 0
if Queue is not empty return -1
*/
int QueueEmpty(Queue Q)
{
if (Q.front == Q.rear)
{
return 0;
}
else
{
return -1;
}
}
Queue
最新推荐文章于 2025-03-15 23:26:29 发布