快速排序算法:Python

来源:软件水平考试    发布时间:2012-11-05    软件水平考试视频    评论

  研究Python中,写一个快速排序练练手:
  '''
  qsort.py
  Quick sort
  Created on Jun 18, 2009
  @author: Liao
  '''
  from random import Random
  def quick_sort(arr):
  if len(arr) > 1:
  qsort(arr, 0, len(arr) - 1)
  def qsort(arr, start, end):
  base = arr[start]
  pl = start
  pr = end
  while pl < pr:
  while pl < pr and arr[pr] >= base:
  pr -= 1
  if pl == pr:
  break
  else:
  arr[pl], arr[pr] = arr[pr], arr[pl]
  while pl < pr and arr[pl] <= base:
  pl += 1
  if pl == pr:
  break
  else:
  arr[pl], arr[pr] = arr[pr], arr[pl]
  # now pl == pr
  if pl - 1 > start:
  qsort(arr, start, pl - 1)
  if pr + 1 < end:
  qsort(arr, pr + 1, end)
  r = Random()
  a = []
  for i in range(20):
  a.append(r.randint(0, 100))
  print a
  quick_sort(a)
  print a

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答