拿到这个问题,我们从头开始思考. 我们把序列看做两部分,一部分在前表示待排序的,记为序列1,一部分在后表示已排序的,记为序列2. 因为序列2在后,所以不必担心它影响序列1的排序,那么对于序列1的第一个元素,显然珂以放到序列2的某个对应位置,使序列2仍然保持有序 那么很简单,我们发现只需要将序列1的每个元素都移动一次即可完成排序,这显然是最优的 讲一下初始化,对于序列2,我们发现显然从最后一个逆序对的第二个元素开始一直到序列的最后一个元素珂以直接作为序列2的,那么剩下的元素按原来的顺序放入序列1,…