美文网首页
数据结构与算法-算法篇:排序—选择排序(二)

数据结构与算法-算法篇:排序—选择排序(二)

作者: 洒一地阳光_217d | 来源:发表于2020-09-23 08:48 被阅读0次

    数据结构与算法系列文章:数据结构与算法目录

    选择排序的思路是这样的:首先,找到数组中最小的元素,拎出来,将它和数组的第一个元素交换位置,第二步,在剩下的元素中继续寻找最小的元素,拎出来,和数组的第二个元素交换位置,如此循环,直到整个数组排序完成。

    至于选大还是选小,这个都无所谓,你也可以每次选择最大的拎出来排,也可以每次选择最小的拎出来的排,只要你的排序的手段是这种方式,都叫选择排序。

    实现:
    /// <summary>
    /// 选择排序
    /// </summary>
    /// <param name="arr"></param>
    public void SelectSort(int[] arr)
    {
        int len = arr.Length;
        int minIndex, temp;
        for (int i = 0; i < len; i++)
        {
            minIndex = i;
            // 从剩下的元素中,寻找最小的数
            for (int j = i + 1; j < len; j++)
            {
                if (arr[j] < arr[minIndex])
                {
                    // 将最小数索引保存
                    minIndex = j;
                }
            }
    
            temp = arr[i];
            arr[i] = arr[minIndex];
            arr[minIndex] = temp;
        }
    }
    

    相关文章

      网友评论

          本文标题:数据结构与算法-算法篇:排序—选择排序(二)

          本文链接:https://www.haomeiwen.com/subject/jqowyktx.html