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 •ࡇ•