python冒泡排序和选择排序,python用冒泡法排序

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: