输入：长度为 N 的整数数组 A，A[1]，A[2]，…，A[N]
输出：长度为 N 的新排序数组 B，B[1]，B[2]，…，B[N]

对于 i = 2 到 N
    j = i
    当 j > 1 且 A[j] < A[j-1] 时
        交换 A[j] 和 A[j-1]
        j = j-1
逆向工程此算法。
此算法使用冒泡排序对长度为 N 的整数数组 A[1]，A[2]…，A[N] 进行排序，生成一个新的已排好序的数组 B[1]，B[2]…，B[N]。从索引 2 开始，它将每个元素 A[j] 与其直接前任 A[j-1] 进行比较。如果 A[j] 小于 A[j-1]，则交换两个元素，并将 j 减一。重复此过程，直到 A[j] 不再小于 A[j-1] 或者 j=1。