习题3.3 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:23  傻蛋蛋  阅读(167)  评论(0)    收藏  举报