自己觉得没错 但是还是过不了

#include<iostream.h>
#include "Queue.h"
#include<cstdlib>
template<class type>
class QueueItem{
 public:
  QueueItem(const type &st):Item(t){next=0;}

 private:
  type Item;
  QueueItem *next;
};
template<class type>
class Queue{
 public:
  Queue() : front(0),back(0){}
  ~Queue();
  type remove();
  void add(const type &);
  bool is_empty() const {
   return front == 0;
  }
 private:
  QueueItem<type> *front;
  QueueItem<type> *back;
};
template <class type>
Queue<type>::~Queue(){
 while (! is_empty())
  remove();
}
template <class type>
void Queue<type>::add(const type &val)
{

QueueItem<type> *pt=new QueueItem<type>(val);
if (is_empty())
front =back=pt;
else
{
 back->next=pt;
 back=pt;
}
}
template <class type>
type Queue<type>::remove(){
if(is_empty())
{
 cerr<<"remove() on empty queue /n";
 exit(-1);
}
QueueItem<type>*pt=front;
front=front->next;
type retval=pt->Item;
delete pt;
return retval;
}
void main(){
 Queue<int> *p_qi =new Queue<int>;
 int ival;
 for(ival=0;ival<10;++ival)
  p_qi->add(ival);
 int err_cnt=0;
 for(ival=0;ival<10;++ival){
  int qval=p_qi->remove();
  if(ival!=qval) err_cnt++;
 }
if(!err_cnt)
cout<<"!!queue executed ok /n";
else
cerr<<"queue errors:"<<err_cnt<<endl;
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值