#define MaxSize 10
typedef struct Node{
    ElementType *Array;
    int front;
    int rear;
} *Queue;

Queue
CreateQueue( int MaxSize )
{
    Queue PtrQ;
    PtrQ = malloc(sizeof(struct Node ));
    if(PtrQ == NULL)
        printf("out of space ");
    PtrQ->Array = malloc(sizeof( ElementType ) * MaxSize );
    if(PtrQ == NULL )
        printf("out of space ");
    PtrQ->front = 0;
    PtrQ->rear = 0;
    return PtrQ;
}
int 
IsFull( Queue PtrQ )
{
    return (rear+1) % MaxSize == front;
}

void
AddQ(ElementType X, Queue PtrQ)
{
    if( IsFull( PtrQ ) )
    {
        printf("队列满");
        return;
    }
    PtrQ->rear = (Q->rear + 1) % MaxSize;
    PtrQ->Array[PtrQ->rear] = X;
}
int
IsEmpty(Queue PtrQ )
{
    return PtrQ->rear == PtrQ->front;
}
ElementType
DeleteQ( Queue PtrQ )
{
    if( IsEmpty( PtrQ ) )
    {
        printf("队列空");
        return;
    }
    PtrQ->front = (PtrQ->front + 1) % MaxSize;
    return PtrQ->Array[PtrQ->front];
}
View Code

相关文章:

  • 2021-10-02
  • 2022-12-23
  • 2022-01-27
  • 2022-12-23
  • 2022-12-23
  • 2021-08-11
  • 2022-12-23
猜你喜欢
  • 2021-10-28
  • 2021-12-29
  • 2022-01-11
  • 2021-12-23
  • 2021-11-05
  • 2021-12-16
  • 2021-04-25
相关资源
相似解决方案