45 lines
572 B
C++
45 lines
572 B
C++
|
#ifndef _QUEUE_HPP_
|
||
|
#define _QUEUE_HPP_
|
||
|
|
||
|
#include <iostream>
|
||
|
#include "list.hpp"
|
||
|
template <class T>
|
||
|
class Queue
|
||
|
{
|
||
|
private:
|
||
|
List<T> q;
|
||
|
public:
|
||
|
|
||
|
T operator[](int i)
|
||
|
{
|
||
|
return q[i];
|
||
|
}
|
||
|
|
||
|
int size()
|
||
|
{
|
||
|
return q.size();
|
||
|
}
|
||
|
bool empty()
|
||
|
{
|
||
|
return size() ? false : true;
|
||
|
}
|
||
|
T enqueue(T e)
|
||
|
{
|
||
|
return q.firstInsert(e);
|
||
|
}
|
||
|
T dequeue()
|
||
|
{
|
||
|
return q.removeLast();
|
||
|
}
|
||
|
T front()
|
||
|
{
|
||
|
return q.last()->data;
|
||
|
}
|
||
|
|
||
|
T back()
|
||
|
{
|
||
|
return q.first()->data;
|
||
|
}
|
||
|
|
||
|
};
|
||
|
#endif
|