冒泡排序
1.算法描述
对整个元素中,两两相邻元素互相比较,如果前一个元素比后一个大,交换位置,直到整个元素列表不再发生变化。
2.python
def bubble_sort(lists):
count=len(lists)
for i in range(0,count):
for j in range(i+1,count):
if lists[i]>lists[j]:
lists[i],lists[j]=lists[j],lists[i]
return lists
插入排序
1.算法描述
在一个已认为有序的列表下,插入一个新的元素,遍历这个列表中的元素,从头开始遍历,直到遍历到新元素大于前一个元素,小于后一个元素时,插入到这个位置
2.python实现
def Insert_sort(lists):
for i in range(1,len(lists)):
key=lists[i]
j=i-1
while j>=0 and lists[j]>key:
lists[j+1]=lists[j]
j=j-1
lists[j+1]=key
return lists
希尔排序
1.算法描述
2.python实现
选择排序
1.算法描述
有一个无序需要排序的列表。和一个有序的空列表,每次从无序列表中找到列表中最小的元素,依次插入到有序的空列表中。
2.python实现
def selection_sort(list):
n=len(list)
for i in range(0,n):
min=i
for j in range(i+1,n):
if list[j]<list[min]:
min=j
if min !=i:
list[min],list[i]=list[i],list[min]
return list