Bootstrap

C++ 实现简单的静态队列

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
;