加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Java选择排序法

发布时间:2022-07-07 09:37:42 所属栏目:语言 来源:互联网
导读:假设当前存在一个 int 类型的数组 number,该数组中的元素依次是 13、15、 24、99、4 和 1。如果使用冒泡排序进行两两相邻比较,第一趟排序后的结果如下: 13、15、24、4、1、99 第二趟排序后的结果如下: 13、15、4、1、24、99 第三趟排序后的结果如下:
  假设当前存在一个 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 

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!