排序-01-插入排序

插入排序

image.png

代码:

public class InsertionSort {
    public static void main(String[] args) {
        int arr[] = {49,38,65,97,76,13,27,49};

        int i;
        int j;
        int temp;

        for (i = 1; i < arr.length; i++) {
            if (arr[i] < arr[i-1]) {
                temp = arr[i];

                for (j = i-1; j >= 0 && arr[j] > temp; j--) { //如果右边的数据大于左边的数据,则左边的数据右移
                        arr[j+1] = arr[j];  //右移一位
                    //此时j还会再判断一次,j--,直到左边的小于右边的数据
                }
                System.out.println("temp: "+temp + "   i: " + i+ "   j: " + j);
                arr[j+1] = temp; //复制到插入位置
            }
        }

        
        for (int t : arr) {
            System.out.println(t);
        }

    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容