专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

Java选择排序法

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/17 11:46:37       共计:3608 浏览
假设当前存在一个 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快速排序法(Quicksort)

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有