冒泡选择插入排序(Python)
Posted 一个敲代码的阿信
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡选择插入排序(Python)相关的知识,希望对你有一定的参考价值。
# 冒泡排序# 原地排序、最好O(n) ,最坏 平均 O^2 稳定
def bubbleSort(list): size = len(list)
if(size<=1):
return list for i in range(size):
# 判断列表是否已经有序,如果有序的话则直接退出无需再比较 isSort = True
for j in range(size-1-i):
if(list[j]>list[j+1]):
list[j],list[j+1] = list[j+1],list[j] isSort = False
if(isSort):
return list
return list
# 插入排序# 原地排序、最好O(n),最坏 平均O^2 稳定
def insertSort(list): size = len(list)
if(size<=1):
return list for i in range(size-1):
for j in range(i+1,0,-1):
if(list[j]<list[j-1]):
list[j],list[j-1] = list[j-1],list[j]
else:
break return list
# 选择排序
# 原地排序、最好,最坏,平均 O^2 不稳定
def selectSort(list):
size = len(list)
if(size<=1):
return list
for i in range(size-1):
tmpValue = list[i+1]
tmpIndex = i+1
for j in range(i+1,size):
if(list[j]<tmpValue):
tmpValue = list[j]
tmpIndex = j
if(tmpIndex != i):
list[tmpIndex],list[i]=list[i],list[tmpIndex]
return list
以上是关于冒泡选择插入排序(Python)的主要内容,如果未能解决你的问题,请参考以下文章