排序算法——插入排序

public class InsertSort {
public static void main(String[] args) {
int[] arr = new int[]{5,9,2,4,6,8,7,1,3};
insertSort(arr);
System.out.println(Arrays.toString(arr));
}

public static void insertSort(int[] arr){
    //设置一个标志,从1到arr.length-1的数都要比较
    for (int i=1;i<=arr.length-1;i++){
        //如果当前数字小于前一个数字
        if (arr[i]<arr[i-1]){
            //将当前数字存储到中间变量
            int temp = arr[i];
            int j;
            //遍历当前数字之前的所有数字
            for (j=i-1;j>=0&&temp<arr[j];j--){
                //把前一个数字赋值给后一个数字
                arr[j+1] = arr[j];
            }
            //把temp的值赋给不满足条件的后一个元素
            arr[j+1] = temp;
        }
    }
}

}

上一篇:排序——插入排序(C语言)


下一篇:排序算法之——插入排序