找到我自己的班级队列的最小值

时间:2017-02-27 00:33:30

标签: c++

我创建了类队列,我需要找到最小值和最大值。最大值是正确的,但最小值不是。我应该改变什么数字的值  头尾可以得到正确的结果?如果我将它们更改为零,则第一个元素变为最大值和最小值 queue

OP_PADANY

1 个答案:

答案 0 :(得分:0)

构建对象后,tail-1

当您添加第一个元素时,您的方法MyQueue::myEnqueue会执行以下操作:

data[-1]=el;

你的最后一个元素总是有垃圾,这可能是一个很大的负数。 Head为-1也是一个坏主意。

修正:

  1. 你的头尾应该是0
  2. 添加元素的代码应为:

    if (tail == size)
    {
        tail = 0;
    }
    data[tail++] = el;