码迷,mamicode.com
首页 > 编程语言 > 详细

队列的顺序存储表示---数组实现

时间:2015-07-03 13:49:55      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
#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

 

队列的顺序存储表示---数组实现

标签:

原文地址:http://www.cnblogs.com/gabygoole/p/4618377.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!