//
队列的模板实现
template < typename T >
class Queue
... {
private:
int N;
T* s;
int head, tail;
public:
//构造函数,需指定队列的容量
Queue(int size)
: N(size), s(new T[size]), head(0), tail(0)
...{}
//压入(PUSH)操作
inline void push(const T& item)
...{
s[tail++] = item;
tail %= N;
}
//判断是否为空
inline bool empty()
...{
return (head == tail);
}
//弹出(POP)操作
inline T pop()
...{
T tmp = s[head++];
head %= N;
return tmp;
}
} ;
template < typename T >
class Queue
... {
private:
int N;
T* s;
int head, tail;
public:
//构造函数,需指定队列的容量
Queue(int size)
: N(size), s(new T[size]), head(0), tail(0)
...{}
//压入(PUSH)操作
inline void push(const T& item)
...{
s[tail++] = item;
tail %= N;
}
//判断是否为空
inline bool empty()
...{
return (head == tail);
}
//弹出(POP)操作
inline T pop()
...{
T tmp = s[head++];
head %= N;
return tmp;
}
} ;