1. //第1轮 {101,34,119,1 ==> {34,101,119,1}
    2. int insertVal = arr[1];//定义待插入的数
    3. int insertIndex = 1-1;//即arr[1]的前面这个数的索引
    4. //给insertVal找到插入的位置
    5. //说明:
    6. //1.insertIndex >= 0 保证在给insertVal找插入位置时,不越界
    7. //2.insertVal < arr[insertIndex] 待插入的数,还没找到插入位置
    8. //3.需要将arr[insertIndex] 后移
    9. while (insertIndex >= 0 && insertVal < arr[insertIndex]){
    10. arr[insertIndex + 1] = arr[insertIndex];
    11. insertIndex--;
    12. }
    13. arr[insertIndex + 1] = insertVal;
    14. System.out.println("第1轮排序:");
    15. System.out.println(Arrays.toString(arr));
    16. //第2轮 {34,101,119,1} ==> {34,101,119,1}
    17. insertVal = arr[2];//定义待插入的数
    18. insertIndex = 2-1;//即arr[1]的前面这个数的索引
    19. while (insertIndex >= 0 && insertVal < arr[insertIndex]){
    20. arr[insertIndex + 1] = arr[insertIndex];
    21. insertIndex--;
    22. }
    23. arr[insertIndex + 1] = insertVal;
    24. System.out.println("第2轮排序:");
    25. System.out.println(Arrays.toString(arr));
    26. //第3轮 {34,101,119,1} ==> {1,34,101,119}
    27. insertVal = arr[3];//定义待插入的数
    28. insertIndex = 3-1;//即arr[1]的前面这个数的索引
    29. while (insertIndex >= 0 && insertVal < arr[insertIndex]){
    30. arr[insertIndex + 1] = arr[insertIndex];
    31. insertIndex--;
    32. }
    33. arr[insertIndex + 1] = insertVal;
    34. System.out.println("第3轮排序:");
    35. System.out.println(Arrays.toString(arr));