实际工作中没有用到过,但是这个面试的时候经常考
今天听了几个视频,准备好好的理解一下,彻底理解一下
一种是往前选择排序,一种是往后冒泡
都是一次循环求出一个最值
#选择排序
def sort_list_backward(lst):
print("原来是:{}".format(lst))
length = len(lst)
for i in range(length-1): #一轮把第i位置上的数据准备ready
for j in range(i+1,length):
if lst[i]< lst[j]:
lst[i],lst[j]=lst[j],lst[i]
print(lst)
return lst
#往后冒泡
def sort_list_forward(lst):
length = len(lst)
print("原来是:{}".format(lst))
for i in range(length-1): #代表ready的个数
for j in range(length-i-1): #注意需要-1,应为有j+1
if lst[j]>lst[j+1]:
lst[j],lst[j+1] = lst[j+1],lst[j]
print(lst)
return lst
if __name__ == "__main__":
a = sort_list_forward([7,6,5,4,3,2])
print(a)