首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择排序算法产生无序的结果

选择排序算法产生无序的结果
EN

Stack Overflow用户
提问于 2019-08-16 02:59:07
回答 1查看 81关注 0票数 0

我试图写一个程序来演示数组指针中的选择排序算法,但结果真的不对劲。

我已经在多个编译器上运行了它,但它似乎没有改变结果。

代码语言:javascript
运行
复制
void SelectionSort(int *arr[], int size)
{
    int start, minI;
    int *MinEl;
    for (start = 0; start < (size - 1); start++)
    {
        minI = start;
        MinEl = arr[start];
        for (int i = start + 1; i < size; i++)
        {
            if (*(arr[i]) < *MinEl);
            {
                MinEl = arr[i];
                minI = i;
            }
        }

        arr[minI] = arr[start];
        arr[start] = MinEl;
    }
}

我希望输出是一个排序数组和原始数组,但排序数组似乎排序不正确。

EN

回答 1

Stack Overflow用户

发布于 2019-08-16 05:12:47

问题出在下面这一行:

代码语言:javascript
运行
复制
        if (*(arr[i]) < *MinEl);

末尾的;使代码变得毫无价值。也许你会得到一些警告。

下一个块被无条件地执行。

无论如何,使用int *arr[]对我来说似乎很奇怪,因为您通常使用int arr[]

已更正工作版本:https://ideone.com/2wZXVs

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57514788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档