快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。
该方法的基本思想是:
1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右区间重复第二步,直到各区间只有一个数。
(举例阐述见http://blog.csdn.net/morewindows/article/details/6684558)
python实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
def
SelectSort(alist):
for
i
in
range
(
0
,
len
(alist),
1
):
for
j
in
range
(i
+
1
,
len
(alist),
1
):
if
alist[i] > alist[j]:
alist[i], alist[j]
=
alist[j], alist[i]
return
alist
def
main():
alist
=
[
19
,
38
,
57
,
96
,
53
,
40
,
32
,
62
,
81
]
SelectSort(alist)
print
alist
if
__name__
=
=
'__main__'
:
main()
|