漫画:插入排序是什么?

漫画:插入排序是什么?

漫画:插入排序是什么?

插入排序:

public static int[] insertionSort(int[] array){
    if (array.length == 0) return array;
    int current;
    for(int i =0;i<array.length-1;i++){
        current = array[i+1];
        int preindex = i;
        while(preindex >= 0 && array[preindex] > current){
            array[preindex +1] = array[preindex];
            preindex--;
        }
        array[preindex+1] = current;
    }
    return array;
}

漫画:插入排序是什么?

首先还是给你一个动漫图,这样你也容易理解:

漫画:插入排序是什么?

其实从图中你可以感受到插入排序是一个比较简单的排序,没有过多的复杂步骤。它排序的基本原理也非常的简单,对于没有排序的元素,在已排序的元素中从后往前依次扫描,找到合适的位置插入。


其实和人们整理桥牌的方法一样,一张一张的来,将每张牌插入到其他已经有序的牌中的适当位置。


具体的步骤:


步骤1: 从第一个元素开始,该元素可以认为已经被排序;

 

步骤2: 取出下一个元素,在已经排序的元素序列中从后向前扫描;  


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


步骤4: 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;

 

步骤5: 将新元素插入到该位置后;

 

步骤6: 重复步骤2~5。

漫画:插入排序是什么?

漫画:插入排序是什么?


上一篇:ubuntu与centos安装软件的不同点总结


下一篇:C#中使用Socket请求Web服务器过程