选择排序法:
- 在初始序列中找到最大(小)的元素,存放到序列的起始位置
- 从剩余元素中找最大(小)的元素,存放到上一指令所执行元素的末尾。
3.重复第二步,直到所有元素排序完毕。
def select(lst):
for i in range(len(lst)):
min =i
for j in range(i+1,len(lst)):
if lst[j] < lst[min]
min = j
lst[min],lst[i]=lst[i],lst[min]
return lst
冒泡排序法:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一个相邻元素做同样的工作,从开始第一对到最后一对。
def bubble(lst):
len = len(lst)
for i in range(len):
for j in range(1,len - j):
if lst[j-1] > lst[j]:
lst[j-1],lst[j] = lst[j],lst[j-1]
return lst
插入排序法:
- 从第一个元素开始,该元素可以认为已经被排序。
- 取出下一个元素,在已排序的元素序列中从后向前扫描。
- 如果该元素(已排序)大于新元素,将该元素移到下一位置。
- 重复步骤3,直到找到已排序的元素小于或等于新元素的位置。
- 将新元素插入到该位置后。
- 重复步骤2~5
def insert(lst): for i in range(1,len(lst)): key = lst[i] j = i - 1 while j >= 0 and lst[j] > key: lst[j+1] = lst[j] j -= 1 lst[j+1] = key return lst