Queue支持的方法
方法名 | 参数 | 功能 | 返回 |
---|
Size | void | 返回链表规模(该方法由List< T>派生而来) |
empty | void | 返回链表是否为空(该方法由List< T>派生而来) |
front | void | 返回队首数据域的引用 |
enqueue | T const & e | 入队 | void |
dequeue | void | 出队 | 出队的对象 |
code
# pragma once
# include "List.h"template <typename T>
class Queue :public List<T>{
public:void enqueue(T const & e){List<T>::insertAsLast(e);}T dequeue(void){T tmp = List<T>::first()->data;List<T>::remove(List<T>::first());return tmp;}T & front(void){return List::first()->data;}
};
测试code
# include <iostream>
# include "Queue.h"int main(void)
{Queue<int> q;for (int i = 1; i < 10; ++i)q.enqueue(i);std::cout << q.Size() << '\n';while (!q.empty()){std::cout << q.dequeue();}
}
输出
9
123456789
theeeeend •ࡇ•