class Solution:
def InsertOrder(self, nums):
nums.insert(0,0) # 使0索引位置为“哨兵”
p = 0 # 存放需要插入元素的位置
for i in range(2, len(nums)):
if nums[i] < nums[i-1]:
nums[0] = nums[i]
for j in range(i-1, -1, -1):
if nums[j] > nums[0]:
nums[j+1] = nums[j]
else:
p = j + 1
break
nums[p] = nums[0]
nums.pop(0) # 排序完成,删除“哨兵”
return nums
基于王道上的C语言版本改写。