第二章 算法基础

输入:n个数的一个序列

输出:输入序列的一个排列,满足 a1 ≤ a2 ≤ ... ≤ an。

对于插入排序,我们将其伪代码命名为Insertion-sort,其中的参数是一个数组A[1..n],包含长度为n的要排序的一个序列。(在代码中,A中元素的数目n用A.length来表示。)该算法原址排序输入的数:算法在数组A中重排这些数,在任何时候,最多只有其中的常数个数字存储在数组外面。在过程Insertion-sort结束时,输入数组A包含排序好的输出序列。

Insertion-sort(A)
   for (j = 2; j <= A.length; j++)
       key = A[j]
       // Insert A[j] into the sorted sequence A[1..j-1]
       i = j - 1
       while (i > 0 && A[i] > key)
           A[i+1] = A[i]
           i = i - 1
       A[i+1] = key

你可能感兴趣的:(第二章 算法基础)