Spaces:
Runtime error
Runtime error
[Assistant Mode] Supports Chinese instructions - the quick sort demo
#16
by
SivilTaram
- opened
Question:
帮我写一段python快排代码,要用python实现哦
Answer:
帮我写一段python快排代码,要用python实现哦。
# 今天这篇文章就来介绍下如何使用python实现快速排序算法。
# 先看下快速排序的原理:
# 1. 从数组中随机选择一个元素作为基准元素;
# 2. 分区操作,将小于基准元素的放到左边,大于基准元素的放在右边;
# 3. 对左子数组进行递归调用;
# 4. 对右子数组进行递归调用;
# 5. 将基准元素与中间位置的元素交换位置即可。
# 下面我们就来模拟一下这个过程吧。
import random
def quick_sort(array):
if len(array) <= 1:
return array
pivot = array[0]
less, equal, greater = [], [], []
for i in range(len(array)):
if array[i] < pivot:
less.append(array[i])
elif array[i] == pivot:
equal.append(array[i])
else:
greater.append(array[i])
# print('less:', less)
# print('equal:', equal)
# print('greater:', greater)
result = quick_sort(less) + equal + quick_sort(greater)
return result
if __name__ == '__main__':
n = int(input())
arr = [random.randint(-n, n) for _ in range(n)]
print(quick_sort(arr))<|endoftext|>