import random
def makelist(m,n):
al=[]
for x in range(n):
al.append(random.randint(1,m))
return al
def partition(al, low, high):
# al[low:high] pivot at al[high-1]
v=al[high-1]
j=low
for i in range(low,high-1):
if al[i]<=v:
if i>j: al[i],al[j]=al[j],al[i]
j=j+1
al[j],al[high-1]=v,al[j]
return j
def quick(al, low, high):
if low+1>=high: return
i=partition(al, low, high)
quick(al, low, i)
quick(al, i+1, high)
n=int(input('Enter number:'))
al=makelist(10000,n)
print (al)
quick(al,0,len(al))
print(al)
'자바·파이썬·자바스크립트 > 파이썬 프로그래밍' 카테고리의 다른 글
파이썬 프로그래밍 코드좀 부탁드립니다.. (0) | 2011.12.25 |
---|---|
힙정렬에서 downheap을 써서 heapify를 하는 이유 (0) | 2011.12.06 |
이진나무의 구현 (0) | 2011.12.06 |
쓰레딩 예제입니다. (0) | 2011.12.06 |
간단한 회면제어 (0) | 2011.12.06 |