冒泡排序:
def buddling(list1):
for i in range(1, len(list1) - 1):
for j in range(len(list1) - i):
if list1[j] > list1[j + 1]:
list1[j], list1[j + 1] = list1[j + 1], list1[j]
print(list1)
list1 = [12, 33, 1, 4, 77, 55, 190]
buddling(list1)
选择排序
list1 = [12, 33, 1, 4, 77, 55, 190]
for i in range(0, len(list1) - 1):
for j in range(i + 1, len(list1) - 1):
if list1[i] > list1[j]:
list1[i], list1[j] = list1[j], list1[i]
print(list1)
插入排序:
list1 = [12, 33, 1, 4, 77, 55, 190]
for i in range(1, len(list1)):
for j in range(i, 0, -1):
if list1[j] < list1[j - 1]:
list1[j], list1[j - 1] = list1[j - 1], list1[j]
else:
break
print(list1)
这些排序算法的原理:
冒泡排序:
将列表中的元素每一次从左到右凉凉取出比较大小,如果a >b ,a,b交换位置
选择排序:
第一次遍历:取第一个元素与之后的元素一一比较,最后获得最小值,然后依次类推
插入排序:
部分有序的效果,第一次遍历,取脚标为1的元素与之前的元素,向前两两元素进行比较,如如果后者 <前者,则交换位置
希望对大家有所帮助,一起共同进步!!!