列表排序之二

每日一练

利用python对列表元素进行排序:

lst =[1,9,4.5,10.6,5.7,-4.5]

作者王玥

编辑:楠楠

训练类型:判断函数

python环境:python2.7

训练时长:20mins

思路简介

在上一周我们介绍了两种排序方法--选择排序法和插入排序法,这一次我们采用冒泡排序法对列表进行排列。

在排序过程中,列表中的每个数x可以看作是重量为x.key的气泡,根据轻气泡在上、重气泡在下的原则扫描列表X,越大的元素会经由交换慢慢“浮”到数列的顶端。如此反复进行,直到最后任何两个气泡都是轻者在上、重者在下为止。

第一步:比较相邻的元素。如果第一个比第二个大,就交换这两个元素的位置;

第二步:对第0个到第n-1个数做同样的工作。这时,最大的数就到了列表中的末位;

第三步:针对所有的元素重复以上的步骤,除了最后一个元素;持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

代码展示

#coding=utf-8

#上述语句是为了程序正确识别代码中的中文,不造成乱码

defbubblesort(lst):

#获得列表的长度

n= len(lst)

fori in range(n):

forj in range(1,n-i):

#如果前者比后者大

iflst[j-1] > lst[j] :

#则交换两者

lst[j-1],lst[j] = lst[j],lst[j-1]

returnlst

lst=[1,9,4.5,10.6,5.7,-4.5]

bubblesort(lst)

print(lst)

思考

冒泡排序和选择排序、插入排序的不同之处在哪里?

明日问题

如何利用python进行简单地爬虫?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180523G1NU5A00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励