排序——插入排序(Insertion sort)

插入排序的核心思想就是采用插入的方式,对无序数列进行排序。
过程演示:
排序——插入排序(Insertion sort)

动图演示:
排序——插入排序(Insertion sort)
这篇文章中有一个例题用递归实现了插入排序:关于递归我想说的那些事
代码实现:

public class 插入排序 {
    public static void main(String[] args) {
        int a[]={45,12,89,56,23,45,789,1};
        for(int i=0;i<a.length;i++){
            System.out.print(a[i]+" ");
        }
        sortArray(a);
        System.out.println();
        for(int i=0;i<a.length;i++){
            System.out.print(a[i]+" ");
        }
    }
    //插入排序
    public static void sortArray(int[] a){
        int i=0;
        for(i=0;i<a.length-1;i++){
            insertSort(a,i,i+1);
        }
    }
    public static void insertSort(int[] a,int i,int j){
        for(j=i+1;j>0;j--){
            if(a[j]<a[i]){
                int temp=a[j];
                a[j]=a[i];
                a[i]=temp;
            }
            i--;
        }
    }

}
上一篇:vue实现数组排序,常用的几种方法


下一篇:快速排序与归并排序