德国porson品牌如何:C++写的一个顺序队列类

来源:百度文库 编辑:中财网 时间:2024/03/28 23:57:11
   C++写的一个顺序队列类

                                          

VC6.0中通过的代码:

#include "stdafx.h"
#include
#include

typedef char* ELEM;
class Queue{
private:
 int size;
 int front;
 int rear;
 ELEM* listarray;
public:
 Queue(const int sz)
 {size=sz+1;front=rear=0;listarray=new ELEM[size];}
 ~Queue(){delete [] listarray;}
 void clear(){front=rear;}
 void enqueue(const ELEM&);
 ELEM dequeue();
 ELEM firstValue() const
 {assert(!isEmpty());return listarray[(front+1)%size];}
 bool isEmpty() const
 {return front==rear;}
};
void Queue::enqueue(const ELEM& item)
{
  assert((rear+1)%size!=front);
  rear=(rear+1)%size;
  listarray[rear]=item;
}
ELEM Queue::dequeue()
{
  assert(!isEmpty());
  front=(front+1)%size;
  return listarray[front];
}

int main()
{
 Queue qu(5);
 ELEM ee[5];
 ee[0]="QQLove1";
 ee[1]="QQLove2";
 ee[2]="QQLove3";
 ee[3]="QQLove4";
 ee[4]="QQLove5";
 cout<<"入队"< for(int i=0;i<5;i++)
   qu.enqueue(ee[i]);
 for(i=0;i<5;i++)
  cout<<"出队:"<

return 0;
}