C++静态队列 用数组实现
#include <iostream>
#include <malloc.h>
#include <string>
using namespace std;
// 静态队列[循环队列] 也叫数组队列
template<typename _Ty,int LEN>
class LoopQueue
{
public:
LoopQueue();
~LoopQueue();
public:
bool IsEmpty(); // 队列是否为空
bool IsFull(); // 队列是否已满
bool push_back(_Ty val); // 添加元素到队尾
_Ty front(); // 获得队列第一个元素
bool pop_front(); // 弹出第一个元素
private:
int m_front; // 数组第一个元素下标
int m_rear; // 数组最后一个元素下标
_Ty m_queue[LEN+1]; // 循环队列
};
template<typename _Ty,int LEN>
LoopQueue<_Ty,LEN>::LoopQueue()
{
m_front = m_rear = 0;
}
template<typename _Ty,int LEN>
LoopQueue<_Ty,LEN>::~LoopQueue()
{
delete[] m_queue;
}
template<typename _Ty,int LEN>
bool LoopQueue<_Ty,LEN>::IsEmpty()
{
return &m_queue[m_front] == &m_queue[m_rear] ? true : fal