选择排序,每次只比两个位置的数,从开始起算,用第一个数和后面的每一个数进行比较,当比其小的互换。第一个数字比完后,把第二个数当做开始点,依次和后面的进行比较……以此类推。
lis = [10, 8, 6, 3, 7, 1]
def bubble_sort(array):
count = len(array)
for a in range(0,count): # 控制循环的次数
for b in range(a+1,count): # 控制循环从头走到尾
if array[a]>array[b]:
array[a], array[b] = array[b], array[a]
return array
if __name__ == "__main__":
lis = [49, 38, 65, 97, 76, 13, 27, 49]
print(bubble_sort(lis))
选择排序,从第一的数字开始,每次比较两个数字,当前面的数字比后面的数字大的时候,互换,直到把最大的放在末尾。然后比较除了最后一位数字中的最大数放在倒数第二位,依次类推。
def select_sort(array):
n = len(array)
min_index = 0
for j in range(n-1):
for i in range(j+1,n):
if array[min_index] > array[i]:
min_index = i
array[j], array[min_index] = array[min_index], array[j]
return array
if __name__ == "__main__":
lis = [49, 38, 65, 97, 76, 13, 27, 49]
print(select_sort(lis))