List头文件在我链表类模板实现的那篇文章中
#ifndef QUEUE_H
#define QUEUE_H
#include<iostream>
#include"List.h"
template<typename T>
class Queue
{
List<T> que;
public:
Queue(){}
~Queue(){}
void Push(const T& item) { que.push_back(item); }//入队
T Pop() { T item = que.front(); que.pop_front(); return item; }//出队
const T& Front() { return que.front(); }//取队头元素
void Clear() { que.clear(); }
int Size() { return que.Size(); }
int Empty() { return que.empty(); }
};
#endif
队列应用
#include<iostream>
#include"Queue.h"
int main()
{
Queue<int> que;
int item;
cout << "Enter 1-10(0 to end):" << endl;
cin >> item;
while (item != 0)
{
que.Push(item);
cin >> item;
}
while (!que.Empty())
{
item = que.Front();
cout << item << " ";
que.Pop();
}
cout << endl;
return 0;
}