A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. public class SelectSort {

  2.         /**
  3.          * 选择排序:从0索引处依次和后面的元素比较,小的往前放,第一次比较完后,出现在最小索引处
  4.          */
  5.         public static void main(String[] args) {

  6.                 int[] arr = { 12, 54, 90, 36, 87, 0 };

  7.                 System.out.println("排序前:");
  8.                 printArray(arr);

  9.                 selSort(arr);

  10.                 System.out.println("排序后:");
  11.                 printArray(arr);

  12.         }

  13.         // 选择排序:
  14.         public static void selSort(int[] arr) {

  15.                 // 外循环控制需要比较的次数
  16.                 for (int x = 0; x < arr.length - 1; x++) {

  17.                         // y = x + 1 是因为从0索引处开始一次比较
  18.                         // y < arr.length是因为y最小值是1
  19.                         for (int y = x + 1; y < arr.length; y++) {

  20.                                 if (arr[x] > arr[y]) {
  21.                                         int temp = arr[x];
  22.                                         arr[x] = arr[y];
  23.                                         arr[y] = temp;
  24.                                 }
  25.                         }
  26.                 }

  27.         }

  28.         // 遍历数组
  29.         public static void printArray(int[] arr) {
  30.                 System.out.print("[");
  31.                 for (int x = 0; x < arr.length; x++) {
  32.                         if (x == arr.length - 1) {
  33.                                 System.out.println(arr[x] + "]");
  34.                         } else {
  35.                                 System.out.print(arr[x] + ", ");
  36.                         }
  37.                 }

  38.         }

  39. }
复制代码


原理图:

2 个回复

倒序浏览
不错不错!
回复 使用道具 举报
感谢分享!!!:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马