插入排序(附图)

算法简介:

     1.从第一个元素开始,该元素可认为已排序。

     2.取出下一个元素,在排序好的元素序列中从后往前扫描

     3.如果元素(已排序)大于新元素,将该元素移到下一位置

     4.重复3.直到找到已排序的元素小于或等于新元素的位置

     5.将新元素插入该位置后

     6.重复2-5直到排序完成

public void charu(int arr[]) {
        
        for (int i=1; i<arr.length; i++) {
            int insertval = arr[i];
            int index = i-1;
            
            while(index >= 0 && arr[index] > insertval) {
                arr[index+1] = arr[index];
                index--;
            }
            arr[index+1] = insertval;
        }
    }

动画演示:

posted @ 2019-07-30 12:47  GrnLeaf  阅读(228)  评论(0编辑  收藏  举报