插入排序python
我的排序代码无法正常排序,会重复同一元素,我找不到我哪错了
# 定义函数 insertion_sort 接受参数 list_sort,并返回插入排序结果。
def insertion_sort(list_sort):
for i in range(1, len(list_sort)):
x = list_sort[i]
for j in range(i - 1, 0, -1): # 从 i-1 开始,直到 j 为 0
if list_sort[j] > x:
list_sort[j + 1] = list_sort[j] # 向右移动元素
else:
list_sort[j + 1] = x # 插入 x
break
return list_sort
# 测试代码
list_sort = list(map(int, input().split()))
x = insertion_sort(list_sort)
print(x)
我的输入是14 15 171 23 1 4 67 87 46 27 252 345 4 25 33 45 98
输出是[14, 14, 14, 14, 15, 23, 25, 27, 33, 45, 46, 67, 87, 98, 171, 252, 345]
我该怎样才能解决