sysu_转基因 2015-09-29 23:29 采纳率: 0%
浏览 1520
已结题

请问我写的C++基于循环数组的队列 代码错在哪里,老是答案错

正常出队列返回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条回答 默认 最新

  • 91program 博客专家认证 2015-09-29 23:39
    关注

    你这只是实现的代码,调用的代码呢?
    只有看到调用的代码,才有可能知道你想实现什么功能
    当然最好你是你说明一下调用代码想实现的目标,但实际执行后又是什么效果,这样才好分析。

    评论

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100