image.png

    1. package com.itheima.d8_sort_binarysearch;
    2. import java.util.Arrays;
    3. /**
    4. * 目标:学会使用选择排序的方法对数组进行排序
    5. */
    6. public class Test1 {
    7. public static void main(String[] args) {
    8. // 1. 定义数组
    9. int[] arr = {5,1,3,2};
    10. // 0 1 2 3
    11. // 2. 定义一个循环控制几轮: arr.length - 1 如果i起始值是1, 则不需要控制-1
    12. for (int i = 0; i < arr.length -1; i++) { // 由于i的起始值是0, 所以要控制循环三轮,所以 要减1:相当于i<3, i=0,1,2 三次
    13. // i = 0 j = 1 2 3 // j 表示占位索引
    14. // i = 1 j = 2 3
    15. // i = 2 j = 3
    16. // 2. 定义内部循环,控制选择几次
    17. for (int j = i + 1; j < arr.length; j++) { // j的起始占位是i + 1 找以上规律
    18. // 当前位:arr[i]
    19. // 如果有比当前位数据更小的,则交换
    20. if (arr[i] > arr[j]){ // 从第二个索引和第一个索引开始比,
    21. int temp = arr[i]; // 定义一个变量存储交换
    22. arr[i] = arr[j];
    23. arr[j] = temp;
    24. }
    25. }
    26. }
    27. System.out.println(Arrays.toString(arr));
    28. }
    29. }