直接插入排序(算法思想):
把n个待排序的元素看成一个有序表和一个无序表,开始时有序表中没有元素,无序表中有n个元素;排序过程即每次从无序表中取出第一个元素,将它插入到有序表中,使之成为新的有序表,重复n次完成整个排序过程
def insert_sort(List):
for i in range(len(List)):
for j in range(i):
if List[i] < List[j]:
List.insert(j,List.pop(i))
return List
i = [i for i in range(10)]
print(insert_sort(i))
冒泡排序(算法思想):
它的基本思想是对所有相邻记录的关键字值进行比效,如果是逆顺(a[j]>a[j+1]),则将其交换,最终达到有序化;
def bubble_sort(array):
for i in range(len(array)):
for j in range(i, len(array)):
if array[i] > array[j]:
array[i], array[j] = array[j], array[i]
return array
array = [1, 2, 5, 8, 9, 7, 6, 4, 3]
print(bubble_sort(array))