• 循环链表


       

    #include <assert.h>

    template<class T>

    class Queue

    {

    public:

    Queue(int =10);

    ~Queue(delete []element;)

    void EnQueue(T item);

    T DeQueue();

    T GetFront();

    void MakeEmpty()

    {length =0;}

    int IsEmpty(){reutrn length ==0;}

    int IsFull()const{return length == Maxsize; }

    private:

    //队列的成员

    int rear,lenght;

    T *element;

    int Maxsize;

    } ;

    template<class T>

    Queue<T>::Queueu(int n):rear(Maxsize-1),length(0),Maxsie(n)

    { //创建一片连续的空间

    element = new T[Maxsize];

    assert(element);

    }

    template<class T>

    Queue<T::>void EnQueue(T &item)

    {

    if(IsFull())

    printf("full ");

    retrun;

    length ++;

    rear = (rear+1)%Maxsize;

    element[rear] = item;

    }

    template<class T>

    T Queue<T>::Queue DeQueue()

    {

    assert(IfEmpty());

    lenth--;

    return element[(rear-length+Maxsize)% maxsize];

    template<class T>

    T Queue<T>::GetFront()

    {

    assert(!Isempty());

    return element[(rear-length+Maxsize)%Maxsize]; //返回队头

    }

    }

  • 相关阅读:
    Tarjan专题
    Catalan数
    状压DP
    威尔逊定理证明:
    【fzoj 2376】「POJ2503」Babelfish
    Android 源码
    Android实现推送方式解决方案
    Android apk 签名
    圆角的实现
    Android 资源
  • 原文地址:https://www.cnblogs.com/countryboy666/p/10949585.html
Copyright © 2020-2023  润新知