队列

今天自己手写了个队列

#define MAXSIZE 10000
template<typename DATATYPE>
class queue
{
private:
	DATATYPE * QUEUE;
	DATATYPE *pfront,*prear;
public:
	queue();
	~queue();
	bool pop();
	bool push(DATATYPE);
	DATATYPE front();
	bool empty();
	void show(bool);
};
template<typename DATATYPE> queue<DATATYPE>::queue()
{
	QUEUE=new DATATYPE[MAXSIZE];
	pfront=prear=&QUEUE[0];
}

template<typename DATATYPE>queue<DATATYPE>::~queue()
{
	delete QUEUE;
}

template<typename DATATYPE>bool queue<DATATYPE>::pop()
{
	if(pfront==rear)return false;
	pfront=(pfront+1)%MAXSIZE;
	return true;
}

template<typename DATATYPE>bool queue<DATATYPE>::push(DATATYPE T)
{
	prear=(prear+1)%MAXSIZE;
	if((prear+1)%MAXSIZE==front)return false;
	QUEUE[prear]=T;
	return true;
}
template<typename DATATYPE>DATATYPE queue<DATATYPE>::front()
{
	return QUEUE[pfront];
}

template<typename DATATYPE>bool queue<DATATYPE>::empty()
{
	if(pfront==prear)return true;
	return false;
}
template<typename DATATYPE> void queue<DATATYPE>::show()
{
	DATATYPE *p=pfront;
	while(p!=prear)
	{
		std::cout<<*p<<" ";
		p=(p+1)%MAXSIZE;
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值