1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
def func(li):
for i in range(1, len(li)): # 从第二轮开始, 也是从第二个元素跟第一个开始比
while i > 0:
if li[i] < li[i-1]: # 当前元素比上一个元素小就换位置
li[i], li[i-1] = li[i-1], li[i]
else: # 列表的前面为有序区, 如果当前元素比有序区的最大值还大, 就没必要继续了
break
i -= 1 # 当无序区有元素插进来, 会依次根前面的比, 直到在有序区找到合适的位置
a = [55, 11, 2, 3, 1, 15]
func(a)
print(a)
|