Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
homework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sy520518
homework
Commits
bf2b69e5
Commit
bf2b69e5
authored
6 years ago
by
sy520518
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lesson5
parent
8c4b76ec
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
42 additions
and
0 deletions
+42
-0
Quick_Sorting.py
+42
-0
No files found.
Quick_Sorting.py
0 → 100644
View file @
bf2b69e5
'''
目标:实现快速排序
概念:
从列表中任意选一个元素作为基准
然后将所有比基准小的数都放到它的左边
将所有比基准大的数都放到它的右边
对左边和右边的元素集不断重复上面的操作
直到排序完成
'''
import
random
def
qsort
(
List
):
if
len
(
List
)
>=
2
:
base
=
random
.
choice
(
List
)
left_base
=
[]
right_base
=
[]
equal
=
[]
for
num
in
range
(
len
(
List
)):
if
List
[
num
]
<
base
:
left_base
.
append
(
List
[
num
])
elif
List
[
num
]
>
base
:
right_base
.
append
(
List
[
num
])
else
:
equal
.
append
(
List
[
num
])
return
qsort
(
left_base
)
+
equal
+
qsort
(
right_base
)
else
:
return
List
if
__name__
==
'__main__'
:
List
=
[[
2
],[
2
,
6
,
3
,
7
,
9
,
1
,
5
],[
2
,
2
,
6
,
6
,
3
,
8
,
1
,
9
]]
for
i
in
List
:
try
:
result
=
qsort
(
i
)
print
(
result
)
print
(
"排序成功
\n
"
)
except
:
print
(
"排序失败"
)
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment