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

2020-09-23  本文已影响0人  洒一地阳光_217d

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

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

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

实现:
/// <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;
    }
}
上一篇下一篇

猜你喜欢

热点阅读