#-*- coding: utf-8 -*-
class quicksort:
def sort(self,list,left,right):
#開始位置小於 位置
if(left#取到中間的乙個下標值
s=list[(left+right)/2]
#i=0
i=left
#j=下標結束
j=right
while(true):
#從開始位置開始比較
while(list[i]i+=1
while(list[j]>s):
j-=1
if(i>=j):
break
print list,"***"
self.swap(list,i,j)
self.sort(list,left,i-1)
self.sort(list,j+1,right)
else:
return
# 交換變數
def swap(self,list,i,j):
t=list[i]
list[i]=list[j]
list[j]=t
print 'begin:'
l=[32,32,34,43,66,65,67,31,77,54,100,42]
l=list(set(l))#防止佇列中含有重複數
print l
print l[(0+10)/2]
q=quicksort() #生成排序的乙個例項
q.sort(l,0,len(l)-1) #傳入的list陣列 開始下標 和 結束下標
print l
python快速排序排序 python快速排序
import random def rand n for i in range n yield random.randint 0,1000 建立乙個隨機數列表 def createlist n lists for i in rand n return lists 挖坑法快速排序 def quick ...
排序 快速排序 Python
快速排序 快排 是非常常用的排序方法,在技術面試中出現頻率也特別高。它主要採用交換和分治的策略進行排序。是不穩定排序。步驟 1 在序列中選乙個元素作為劃分的基準元素 pivot 2 將所有不大於pivot的數字放在pivot的前面,大於pivot的數字放在pivot的後面 3 以pivot為界,對前...
python快速排序
import random def rand n for i in range n yield random.randint 0,1000 建立乙個隨機數列表 def createlist n lists for i in rand n return lists 挖坑法快速排序 def quick ...