插入排序算法代码实现
上代码:
package com.liu.pro; import java.util.Arrays; public class insertionSort { public static void main(String[] args) { int[] arr = {9,8,5,6,2,7,1,3,4}; sort(arr); System.out.println(Arrays.toString(arr)); } public static void sort(int[] arr){ // 假定前方为一个有序表,则从数组的第二个数(i=1)开始插入 for (int i = 1; i < arr.length; i++) { // 要插入数的前面一个数的索引 int index = i - 1; // 即将要插入前方有序表的数 int val = arr[i]; // 要想从大到小排序,只需要把第二个小于号改为大于号,即可 // 找到要插入的前方有序表的位置 while(index >= 0 && val < arr[index]){ arr[index + 1] = arr[index]; index--; } // 插入 arr[index + 1] = val; } } }
运行结果: