E7

#include<iostream>

using namespace std;

const int maxqueue = 10;

class Queue{

public: 

Queue( ); 

bool empty( ) const; 

Error_code serve( ); 

Error_code append(const Queue_entry item); 

Error_code retrieve(Queue_entry item) const;

protected: 

int front,rear; 

Queue_entry entry [maxqueue]; 

bool is_empty; };

Queue :: Queue( )

{rear = maxqueue-1;

front = 0; 

is_empty = true;}

bool Queue :: empty( ) const 

{return is_empty;}

Error_code Queue :: append(const Queue_entry item) 

if (!empty( )&&(rear+1)%maxqueue ==  front) return overflow; 

is_empty = false; 

rear=(rear+1)%maxquene;

entry[rear]=item; 

return success; }

Error_code Queue :: serve( )

{if(empty( ))return underflow; 

if(rear==front)is_empty = true; 

front=((front+1)==maxqueue)?0:(front+1); 

return success;}

Error_code Queue::retrieve(Queue_entry item) const

{if(empty( ))return underflow; 

item=entry[front]; 

return success;}

posted @ 2013-08-29 18:25  百度一下吉吉  阅读(228)  评论(0)    收藏  举报