sysu_转基因
2015-09-29 23:29请问我写的C++基于循环数组的队列 代码错在哪里,老是答案错
1正常出队列返回success,空队列返回underflow, 满队列返回overflow
enum ErrorCode
{
success,
underflow,
overflow
};
const int maxQueue = 100;
template <class QueueEntry>
class MyQueue
{
public:
MyQueue(){
front = rear = 0;
}
// 判断队列是否为空
bool empty() const{
return rear == front;
}
// 入队操作
ErrorCode append(const QueueEntry &item){
if(!full()){
entry[rear] = item;
rear = (rear+1)%100;
return success;
}
else
return overflow;
}
// 出队操作
ErrorCode serve(){
if(!empty()) {
front = (front+1)%100;
return success;
}
else return underflow;
}
// 获取队头元素
ErrorCode retrieve(QueueEntry &item) const{
return success;
}
// 判断队列是否已满
bool full() const{
return ((rear + 1) % 100 == front);
}
// 获取队列已有元素个数
int size() const{
return (rear - front + 100)%100;
}
// 清除队列所有元素
void clear(){
rear = front = 0;
}
// 获取队头元素并出队
ErrorCode retrieve_and_serve(QueueEntry &item){
if(!empty()) {
item = entry[front];
front = (front+1)%100;
return success;
}
else return underflow;
}
private:
int front; // 队头下标
int rear; // 队尾下标
QueueEntry entry[100]; // 队列容器
};
- 点赞
- 回答
- 收藏
- 复制链接分享
6条回答
为你推荐
- 请问为什么我这段代码输出会输出空的数组元素,求大佬解释
- c++
- 1个回答
- C++11 auto 遍历数组 如果需要使用到 下标的值怎么办?
- c++
- 2个回答
- C++使用结构体数组时候出现错误In function 'float TriangleArea(triangle)':
- 开发语言
- c++
- 1个回答
- C++ char[]数组取值问题,谢谢大家
- c++
- 1个回答
- C++怎么输出数组中各个元素的地址
- c语言
- c++
- 2个回答
换一换