python冒泡排序和选择排序,python用冒泡法排序
本文主要向大家介绍冒泡排序、快速排序、堆排序的使用代码以及他们的测试过程和结果。
1、冒泡排序
defbubble_sort(array,n):
第:号
forjinrange(1,n-i):
I阵列[j-1]数组:
数组[j-1],数组[j]=数组[j],数组[j-1]2、快速排序
defquick_sort(array,l,r):
iflr:
q=分区(数组,左,右)
快速排序(数组,l,q-1)
quick_sort(array,q 1,r)
defpartition(array,l,r):
x=array[r]
i=l
forjinrange(l,r):
ifarray[j]=x:
数组[我],数组[j]=数组[j],数组[我]
i=1
array[i],array[r]=array[r],array[i]
返回3、堆排序
注意堆排序外面还有一个在下面测试部分的循环。
#堆排序
defheap_sort(数组,n,长度):
l=2 * n 1
r=2 * n 2
ifl=长度-1:
堆排序(数组,l,长度)
ifr=长度-1:
堆排序(数组,r,长度)
ifl=长度:
返回
索引=l
iflengandarray[r]array[l]:
指数=r
I数组[n]数组[索引]:
数组[n],数组[索引]=数组[索引],数组[n]4、测试部分
if__name__==__main__:
a=输入(输入数组元素:).拆分("")
a=list(map(int,a))
b=a.copy()
c=a.copy()
#冒泡排序
bubble_sort(a,len(a))
打印(一份)
#快速排序
quick_sort(b,0,len(b)-1)
打印(二)
#堆排序
foriinrange(透镜:
heap_sort(c,0,len(c)-i)
c[0],c[len(c)-i-1]=c[len(c)-i-1],c[0]
打印5、测试结果
输入数组元素:4836715
[1,3,4,5,6,7,8]
[1,3,4,5,6,7,8]
[1,3,4,5,6,7,8]
Processfinishedwithexitcode0文章来源于网络,如有雷同,请联系作者。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。