插入排序

自己的理解:

将数组分为一个有序数组和无序数组,无序数组的第一个为有序数组第一个元素,每次从无序数组遍历拿元素,并和有序数组最大的开始比较,如果大于最大的直接就是这个位置,如果小于最大则将大的向前移动,再比较,比较的条件是索引大于或等于0并且插入的值一直小于插入的索引值,如果不满足条件,就将索引加一并将插入的值赋给他

    int arr[] = new int[]{90, 11, 13, 7};
        for (int i = 1; i < arr.length; i++) {
             int insertValue = arr[i];
             int insertIndex = i-1;
             while (insertIndex>=0 && insertValue< arr[insertIndex]){
                 arr[insertIndex+1] = arr[insertIndex];
                 insertIndex--;
             }
             arr[insertIndex+1] = insertValue;

        }

 

posted @ 2022-06-14 10:56  孔维刚  阅读(43)  评论(0)    收藏  举报