队列

这段代码定义了一个基于数组的队列结构,并实现了检查队列是否为空、构造空队列以及元素入队的操作。`IsEmpty`函数用于检测队列是否为空,`MakeEmpty`函数初始化队列为空,`Enqueue`函数则将元素加入队列,同时处理了队列满的情况。
摘要由CSDN通过智能技术生成

声明

#ifndef QUEUE_H_INCLUDED
#define QUEUE_H_INCLUDED

typedef int ElementType;
struct QueueRecord
{
    int Capacity;
    int Front;
    int Rear;
    int Size;
    ElementType *Array;
};
struct QueueRecord;
typedef struct QueueRecord *Queue;


#endif // QUEUE_H_INCLUDED

测试队列是否为空

int IsEmpty(Queue Q)
{
    return (Q->size == 0);
}

构造空队列

void MakeEmpty(Queue Q)
{
    Q->size = 0;
    Q->Front = 1;
    Q->Rear = 0;
}

入队

static int Succ(int Value, Queue Q)
{
    if(++Value == Q->Capacity)
        Value = 0;
    return Value;
}

void Enqueue(ElementType X, Queue Q)
{
    if(IsFull(Q))
        Error("Full queue");
    else
    {
        Q->size++;
        Q->Rear = Succ(Q->Rear, Q);
        Q->Array[Q->Rear] = X;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值