算法 Algorithm

2.1.3 插入排序 Insertion Sort

2018-12-24  本文已影响4人  RoyTien

插入排序对于部分有序的数组十分高效,也很适合小规模数组。

部分有序:

Python

A = [70, 90, 31, 37, 10, 1, 48, 60, 33, 80]


def insert_sort(l):
    length = len(l)
    for i in range(1, length):
        x = l[i]
        for j in range(i, -1, -1):
            if x < l[j-1]:
                l[j] = l[j-1]
            else:
                break
        l[j] = x
    return l


print(insert_sort(A))

Java

public class Insertion(){
    public static void sort(Comparable[] a){
        int N = a.length
        for(int i = 1; i < N; i++){
            for(int j = i; j > 0 && less(a[j], a[j-1]); i--)
                exch(a, j, j-1);
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读