您的位置:首页 > 理论基础 > 数据结构算法

《数据结构与程序设计---c++语言描述》Exercises3.3--E7

2013-08-29 21:22 253 查看
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;

};

The method implementations follow.

Queue :: Queue( )

{

rear = − 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) == maxqueue) ? 0 : (rear + 1);

entry[rear] = item;

return success;

}

Error_code Queue :: serve( )

{

if (empty( )) return underflow;

if (rear == front) is_empty = true;

}

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

Error_code Queue :: retrieve(Queue_entry &item) const

{

if (empty( )) return underflow;

item = entry[front];

return success;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: