【牛客带你学编程C++方向】项目练习第8期(参考答案)


参考答案:

template <typename T>
class Queue
{
 
private:
    T* Array;
    int Capacity;    //队列最大容量
    int Front;         //队列头位置
    int Rear;          //队列尾的位置
    int Size;           //队列中对象的数量
 
public:
    Queue(int QueueSize)
        :Front(0)
        , Rear(1)
        , Size(0)
        , Capacity(QueueSize)
    {
        Array = new T[QueueSize];
    }
 
    ~Queue()
    {
        delete[] Array;
    }
 
    //入队函数
    void push(T x)
    {
        if (isFull())
        {
            return;
        }
        Array[Rear++] = x;
        Rear = (++Rear) % Capacity;
        ++Size;
    }
 
    //出队函数
    void pop()
    {
        if (isEmpty())
        {
            return;
        }
        ++Front;
        --Size;
    }
 
    bool isFull()
    {
        return Size == Capacity;
    }
 
    bool isEmpty()
    {
        return Size == 0;
    }
    int size()
    {
        return Size;
    }
};


全部评论

相关推荐

10-29 15:51
嘉应学院 Java
后端转测开第一人:你把简历的学历改成北京交通大学 去海投1000份发现基本还是没面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务