首页 > 代码库 > 数据结构之——基于数组的队列的C++模板实现

数据结构之——基于数组的队列的C++模板实现

template<typename T>
Class Myqueue
{
public:
    Myqueue(int max=50):capa(max),head(0),tail(0),data(nullptr)
    {
        data=new T[capa]
    }
    void enqueue(T &x);//入队
    T front();//队首
    void dequeue();//出队
    int counts();//元素个数
    bool empty();//判空
    bool full();//判满
    ~Myqueue(delete[]data);
private:
    int head;
    int tail;
    int count;
    T* data;
    int capa;
}
template<typename T>
void Myqueue<T>::enqueue(T &x)
{
    if(!full())
    {
        arr[tail]=x;
        count++;
    }
    if(tail==capa)
        tail=0;
    else
        tail++;
}
template<typename T>
bool Myqueue<T>::empty()
{
    return count==0;
}
bool Myqueue<T>::full()
{
    return count==capa;
}
template<typename T>
T MyStack<T>::front()
{
    if(!empty())
        return arr[head];
}
template<typename T>
void MyStack<T>::pop()
{
    if(!empty())
    {
        if(head==capa)
           head=0;
        else
           head++;
        --count;
    }
}
template<typename T>
int MyStack<T>::counts()
{
    return count;
}

 

数据结构之——基于数组的队列的C++模板实现