03插入排序

63 阅读1分钟

03插入排序

基本思想:在待排序数组中,假定前n-1个元素为有序的,将第n个元素插入有序数组。
讲解:
//创建一个名为Insert_sort的方法,传递的参数为待排数组和该数组长度
public static void Insert_sort(int a[],int len){
        //外循环控制待排元素个数,即i的值从0开始,到len - 1结束
        for(int i = 0;i < len - 1;i++){
            //内循环控制比较区间,该区间为0 ~ i + 1,每一次循环,向前移1位
            for(int j = i + 1;j > 0;j--){
                //依次判断相邻两个元素大小,若后者元素小于前者
                if(a[j] < a[j - 1]){
                    //则将两者交换位置
                    int temp = a[j - 1];
                    a[j - 1] = a[j];
                    a[j] = temp;
                //若后者元素不大于前者元素,则说明已经有序了,直接跳出
                }else{
                    break;
                }
            }
        }
    }