菲菲python实例教程-快速排序

题目

任意输入n个数,程序可以将这n个数从小到大排列

How many number do you want to input?:10

2

4

7

5

16

7

9

3

13

14

菲菲视频讲解

答案

[2, 3, 4, 5, 7, 7, 9, 13, 14, 16]

快速排序

快速排序(Quicksort)是对冒泡排序的一种改进。

快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

代码

defquicksort(a):

small = []

equal = []

big = []

iflen(a)

returna

pivot = a[len(a)-1]

forx in a:

ifx

small.append(x)

elifx==pivot:

equal.append(x)

else:

big.append(x)

returnquicksort(small) + equal + quicksort(big)

many =int(input("How many number do you want to input?:"))

myList = []

fori inrange(many):

myList.append(eval(input()))

print(quicksort(myList))

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181025B0DYFR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券