1.插入排序
插入排序:插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序;首先将第一个作为已经排好序的,然后每次从后的取出插入到前面并排序
def insert_sort(aList):
for i in range(len(aList)):
for j in range(i):
if aList[i] < aList[j]:
aList.insert(j, aList.pop(i))
return aList
a = insert_sort([1, 4, 2, 85, 7, 0, 3])
print(a)
2.冒泡排序
冒泡排序:它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成
def bubble_sort(aList):
for i in range(len(aList)):
for j in range(i + 1, len(aList)):
if aList[i] > aList[j]:
aList[i], aList[j] = aList[j], aList[i]
return aList
a = bubble_sort([1, 4, 2, 85, 7, 0, 3])
print(a)
3.选择排序
选择排序:第1趟,在待排序记录r1 ~ r[n]中选出最小的记录,将它与r1交换;第2趟,在待排序记录r2 ~ r[n]中选出最小的记录,将它与r2交换;以此类推,第i趟在待排序记录r[i] ~ r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕
def select_sort(aList):
for i in range(len(aList)):
x = i
for j in range(i + 1, len(aList)):
if aList[j] < aList[i]:
aList[x], aList[j] = aList[j], aList[x]
return aList
a = select_sort([1, 4, 2, 85, 7, 0, 3])
print(a)