插入排序--Insertion sort

原理

插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 
插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序。 
插入排序循环 数据的长度-1 轮。

例子

参考代码

/**
 * @Description:简单插入排序算法实现
 */
public class InsertSort {

    /// <summary>
    /// 插入排序
    /// </summary>
    /// <param name="unsorted"></param>
    static void insertion_sort(int[] arr) {
        for (int i = 1; i < arr.length; i++) {
            //从数据里面的第二个数据开始 轮询
            if (arr[i - 1] > arr[i]) {
                //拿出当前的数据,然后将比它大的数据都往下挪
                int temp = arr[i];
                int j = i;
                while (j > 0 && arr[j - 1] > temp) {
                    arr[j] = arr[j - 1];
                    j--;
                }
                arr[j] = temp;
            }
        }
    }

    public static void main(String[] args) {

        int[] x = { 6, 7, 1, 2, 4, 9 };
        insertion_sort(x);
        for (int i : x) {
            System.out.println(i);
        }
    
    }
}
原文地址:https://www.cnblogs.com/llq1214/p/9718265.html