Java选择排序法详解

阳光 2020-09-22 11:08:32 java常见问答 4104

下面要给大家讲到的就是java选择排序法的内容,下面就一起通过文章来进行一下了解吧,有详细的讲解哦。

假设,存在一个int类型的数组number,这个数组当中,元素依次是13、15、 24、99、4和1,假如,使用冒泡排序进行两两相邻比较,第一趟排序后的结果:

13、15、24、4、1、99

第二趟排序后的结果:

13、15、4、1、24、99

第三趟排序后的结果:

13、4、1、15、24、99

第四趟排序后的结果:

4、1、13、15、24、99

第五趟排序后的结果:

1、4、13、15、24、99

使用选择排序法也能够对上面数组当中的元素进行排序,可是,它和冒泡排序不同,选择排序是指每一趟从待排序的数据元素中选出最大(或最小)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。

例,使用选择排序法重新对number数组当中的元素进行排序,第一趟排序后的结果:

13、15、24、1、4、99

第二趟排序后的结果:

13、15、4、1、24、99

第三趟排序后的结果:

13、1、4、15、24、99

第四趟排序后的结果:

4、1、13、15、24、99

第五趟排序后的结果:

1、4、13、15、24、99

利用选择排序方法通过编程的方式实现对number数组的排序,并输出已排序的数组元素,代码:

int[] number = {
    13
    , 15
    , 24
    , 99
    , 4
    , 1
};
String end = "\n";
int index;
for (int i = 1; i < number.length; i++)
{
    index = 0;
    for (int j = 1; j <= number.length - i; j++)
    {
        if (number[j] > number[index])
        {
            index = j; // 查找最大值
        }
    }
    end = number[index] + " " + end; // 定位已排好的数组元素
    int temp = number[number.length - i];
    number[number.length - 1] = number[index];
    number[index] = temp;
    System.out.print("【");
    for (int j = 0; j < number.length - i; j++)
    {
        System.out.print(number[j] + " ");
    }
    System.out.print("】" + end);
}

执行上述代码,查看每一趟排序后的结果,运行结果:

【13 15 24 1 4 】99
【13 15 4 1 】24 99
【13 1 4 】15 24 99
【4 1 】13 15 24 99
【1 】4 13 15 24 99

更多相关java基础知识,请继续关注奇Q工具网来进行了解吧。

推荐阅读:

Java sort()数组排序降序详解

Java快速排序法详解

Java直接插入排序法详解