Java教程:Java选择排序法

开课吧开课吧锤锤2021-03-22 16:18

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。Java不但可以用来开发网站后台、PC客户端和AndroidAPP,还在数据分析、网络爬虫、云计算领域大显身手。

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

    例1

    利用选择排序方法通过编程的方式实现对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选择排序法的全部内容了,如果学习教程是你的第一步,那么第二步建议拥有一份好的面试资料,点击下方图片免费领取资料。

Java

    学习是第一步,面试技巧是第二步,两步都掌握的比较牢靠,你就会发现,拿offer如此简单。

有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
高并发编程训练营