快速排序
来源:互联网 发布:大数据展示平台 编辑:程序博客网 时间:2024/05/16 09:00
#coding=utf-8
import math
import random
def swap(A,i,j):
r=A[i]
A[i]=A[j]
A[j]=r
def partition(A,p,r):
x=A[r]
i=p-1
for j in list(range(p,r)):
if A[j]<=x:
i=i+1
swap(A,i,j)
swap(A,i+1,r)
return i+1 #没次调用partition,将会产生一个分割p,r的q角标
def quickSort(A,p,r):
if p<r:
q=partition(A,p,r)
quickSort(A,p,q-1)
quickSort(A,q+1,r)
A=[1,2,3,4,7,8,9,10,14,16]
random.shuffle(A)
print(A)
quickSort(A,0,len(A)-1)
print(A)
import math
import random
def swap(A,i,j):
r=A[i]
A[i]=A[j]
A[j]=r
def partition(A,p,r):
x=A[r]
i=p-1
for j in list(range(p,r)):
if A[j]<=x:
i=i+1
swap(A,i,j)
swap(A,i+1,r)
return i+1 #没次调用partition,将会产生一个分割p,r的q角标
def quickSort(A,p,r):
if p<r:
q=partition(A,p,r)
quickSort(A,p,q-1)
quickSort(A,q+1,r)
A=[1,2,3,4,7,8,9,10,14,16]
random.shuffle(A)
print(A)
quickSort(A,0,len(A)-1)
print(A)
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- @ImportResource导入文件、@Value
- 数字签名与数字证书
- 连连看
- css3实现loading
- VC++ WCHAR,CHAR,TCHAR的区别
- 快速排序
- PubNub
- ECNA2016ProblemC:TheKeytoCryptography 水题
- LruCache 源码剖析
- Myeclipse自动补全及快捷键设置
- 递归,爬楼梯
- ArrayList,linkedList集合的学习
- L1-1. 出生年
- ORACLEPL/SQL学习笔记