队列

#include "Stdio.h"
#define QueueSize 100                       /*定义队列的存储空间*/
typedef char DataType;                       /*定义l队列的存储类型*/

 

/***************队列的存储结构*****************/
typedef struct                                     
{
    DataType data[QueueSize];             /*存储单元*/
    int front;                                          /*队头位置*/
    int rear;                                            /*队尾位置*/
   
}SeqQueue;

 

/****************生成队列********************/

void Ininital(SeqQueue* Q)                    
              
{
    Q->front=Q->rear=0;

}

 

 

 /***************判断队列是否为空****************/
int IsEmpty(SeqQueue* Q)                    
{
     return Q->front==Q->rear;
}

 

 

/***************判断队列是否为满****************/

int IsFull(SeqQueue* Q)                        
{
    return Q->rear==QueueSize-1+Q->front;
}

 

 

/*****************进队列**********************/

void EnQueue(SeqQueue* Q,DataType x)   
{
    if(IsFull(Q))
    {
        printf("the queue is full");
        exit(1);
    }
    Q->data[Q->rear++]=x;        /*注意运算符优先级*/
}

 

 

/*****************出队列*********************/
DataType DeQueue(SeqQueue* Q)        
{
    if(IsEmpty(Q))
    {
        printf("the queye is empty");
        exit(1);
    }
    return Q->data[Q->front++];
}

 

 /****************取队列顶端元素**************/
DataType Front(SeqQueue* Q)    
{
    if(IsEmpty(Q))
    {
        printf("the queue is empty");
        exit(1);
    }
    return Q->data[Q->front];
}

 

 

/****************主函数*********************/

int main(void)                                 
{
    SeqQueue s;
    DataType first,sec;
    Ininital(&s);
    EnQueue(&s,'a');
    EnQueue(&s,'b');
    first=Front(&s);
    DeQueue(&s);
    sec=Front(&s);
    DeQueue(&s);
    printf("%c %c",first,sec);
    getch();

  return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值