学习
实践
活动
专区
工具
TVP
写文章

菲菲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
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券