45 lines
No EOL
572 B
C++
45 lines
No EOL
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 |