Python实训第四天,今天用Python实现了四种排序方法:
一:选择排序
选择排序其实就是取第一个数去跟后面的数比较,然后一轮之后得到最小的数在第一个,然后开始取第二个,重复之前的比较。
可以先举例,五个数的时候,四轮就能排序完,内循环则为外循环加1开始
版本一:
list=[1,2,5,6,4,7]
#选择排序
for i in range(len(list)-1):
for j in range(i+1,len(list)):
if(list[i]>list[j]): #若找到更小的数
list[i],list[j]=list[j],list[i] #直接交换
print(list)
后来发现可以改进,每次都直接交换数值会减慢排序速度,换成交换下标会提升速度
改进版:
def choose_sort(list):
for i in range(len(list)-1):
min_index=i #假设i为最小值的下标
for j in range(i+1,len(list)):
if(list[min_index]>list[j]): #若有更小的值
min_index=j #交换下标
list[i],list[min_index]=list[min_index],list[i] #找出最小下标后,交换值
return list
print(choose_sort(list))
二:冒泡排序:
冒泡排序是从左往右每两个都进行比较&