0

我试图在 3 个不同的数组中找到最小值,但结果并不正确,我不认为。即使它是最小的,它似乎也永远不会返回中间数组。它总是 0 或 2。我的逻辑错误似乎是什么?

int smallest;
for(int i = 1; i < 3; i++)
{
    if(queue[i].getCount() < queue[0].getCount())
      smallest = i;
    else
      smallest = 0;
}
4

1 回答 1

1

鉴于您的代码中的错误,很难看出您正在尝试做什么。

我想你想要更像这样的东西:

int smallest = queue[0].getCount();
for(int i = 1; i < 3; i++)
{
    if(queue[i].getCount() < smallest)
        smallest = queue[i].getCount();
}

如果您想要结果索引,请尝试以下操作:

int smallest = 0;
for(int i = 1; i < 3; i++)
{
    if(queue[i].getCount() < queue[smallest].getCount())
        smallest = i;
}
于 2012-12-12T05:58:15.430 回答