[Assistant Mode] Supports Chinese instructions - the quick sort demo

#16
by SivilTaram - opened
BigCode org

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|>

Sign up or log in to comment