C++パッケージキュー


キューについて考える
キューが持つ特性は、スタックとは逆です.すなわち、スタックが先に出て、キューが先に出ます.スタックと同様に、スタックも依然として線形の記憶構造で記憶されているが、スタックと同様に、頻繁にエンキューおよびデキューを行う必要があるため、スタックと同様の方法で同様の実装を行うことができる.詳細参照:C++パッケージスタック
スタックのパッケージングを開始
//
// ZQueue.hpp
// Array
//
// Created by     on 16/7/4.
// Copyright © 2016  Frank. All rights reserved.
//

#ifndef ZQueue_hpp
#define ZQueue_hpp

#include "ZLinkedList.hpp"

#include <stdio.h>

namespace ZTemplate {
    template<class T>
    class ZQueue : protected ZLinkedList<T> {
    public:
        ZQueue<T>();
        virtual ~ZQueue<T>(){}

        /** *    * @param val       */
        void enqueue(const T &val);

        /** *    */
        T dequeue();

        /** *       * @return         */
        bool empty() const;

        /** *          * @return           */
        z_size count() const;
    };

    template<class T>
    ZQueue<T>::ZQueue() : ZLinkedList<T>() {

    }

    template<class T>
    void ZQueue<T>::enqueue(const T &val) {
        this->push_back(val);
    }

    template<class T>
    T ZQueue<T>::dequeue() {
        return this->pop(0);
    }

    template<class T>
    bool ZQueue<T>::empty() const {
        return this->isEmpty();
    }

    template<class T>
    z_size ZQueue<T>::count() const {
        return this->_length;
    }
}

#endif /* ZQueue_hpp */

以上のコードはキューのパッケージです.以前のクラスについては、C++パッケージ線形テーブル-ベクトル、C++パッケージチェーンテーブル-チェーンテーブル、C++パッケージスタックGithubアドレス:Arrayデータ構造パッケージ