查找数组中的最小值

时间:2016-10-28 09:33:48

标签: c++

我正在尝试编写一个函数来查找数组中的最小值,但我无法弄清楚我所犯的错误。有人可以看看吗?感谢!!!

void smallest(int array[],int size)
    {
        int smallest=array[0];
            for (int i=1;i<size-1;i++)
                {
                if (array[i]<smallest)

                 smallest=array[i];

                }
        cout<<smallest<<'\n';

     }

代码没有执行因为有断点,我看不出问题出在哪里。

2 个答案:

答案 0 :(得分:0)

您可以在此找到更有效的解决方案:
Finding smallest value in an array most efficiently

代码段:

int smallest = array[0];
for (int i = 0; i < array_length; i++) {
    if (array[i] < smallest) {
        smallest = array[i];
    }
}

答案 1 :(得分:0)

您的循环不会转到数组的最后一个元素。你应该删除条件的减1。并且不要犹豫,测试收到的参数的价值:

void smallest(int array[], int size)
{
    if (size <= 0 || !array)
        return;
    int smallest = array[0];
    for (int i = 1; i < size ; i++)
        if (array[i] < smallest)
            smallest = array[i];
    cout << smallest << '\n';
}
相关问题