排序(一)-插入排序

来源:互联网 发布:js钩子函数作用 编辑:程序博客网 时间:2024/05/22 10:58

稳定性:stable sort

空间:In-place sort

最优复杂度:当输入为顺序时,复杂度为O(n)

最差复杂度:当输入为逆序时,复杂度为O(n^2)

伪代码:

Insertion_Sort(A){        for i=2 to n                j = i-1                key = A[i]                while j>0 && A[j]>key                        A[j+1] = A[j]                        j--                A[j+1] = key}
Java代码:

import java.util.Arrays;public class Main {public static void main(String[] args){Main m = new Main();int[] A = {1,2,3,5,4,7,9,1,2,5,3,2,1};m.insertionSort(A);System.out.print(Arrays.toString(A));//输出:[1, 1, 1, 2, 2, 2, 3, 3, 4, 5, 5, 7, 9]}public void insertionSort(int[] A){for(int i = 1; i < A.length; ++i){int j = i - 1;int key = A[i];while(j >= 0 && A[j] > key){A[j+1] = A[j];--j;}A[j+1] = key;}}}


0 0