插入排序

插入排序

插入排序插图:

代码截图

public class InsertSort {

    public static void main(String[] args) {
        int[] arr=new int[] {6,7,4,2,5};
        insertSort(arr);
        System.err.println(Arrays.toString(arr));
    }
    public static void insertSort(int[] arr) {
        //第一张不用排,所以是n-1轮
        for(int i=1;i<arr.length;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];
                }
                //本次抓的牌的位置
                arr[j+1]=temp;
            }
        }
    }

}