python冒泡排序

                    **

python 冒泡排序解析 以及代码

**

 paixu=[12,435,53454,756,967,543,32,432]
 print(paixu)
    for i in range(0,len(paixu)-1):
    	for j in range(0,len(paixu)-i-1):
    		if paixu[j]>paixu[j+1]:
   				paixu[j],paixu[j+1]=paixu[j+1],paixu[j]
   print(paixu)

#注意j+1的值,不能超出paixu的最大下标,所以j 的取值为len(paixu)-1
冒泡排序(两两比较,如果前面的值大于后面的值,将两个值调换,),分析:每次比较可以得到最大值,最大值不参与后续的比较,所以
#第一次参与比较的数有 [12,435,53454,756,967,543,32,432]

paixu[0]~paixu[7]

#第二次参与比较的数有 [12,435,756,967,543,32,432]

paixu[0]~paixu[6]

#第三次参与比较的数有 [12,435,756,543,32,432]

paixu[0]~paixu[5]

#第四次参与比较的数有 [12,435,543,32,432]

paixu[0]~paixu[4]

#第五次参与比较的数有 [12,435,32,432]

paixu[0]~paixu[3]

#第六次参与比较的数有 [12,32,432]

paixu[0]~paixu[2]

#第七次参与比较的数有 [12,32]

paixu[0]~paixu[1]

依此类推:外循环共需要 七 次 第七次比完只剩最小的一个数,不需要再比较
列表的长度-1 len(paixu)-1,就是外循环的次数
内循环就是相邻的两个数比较:外部循环执行 一次 需要比较的数
就减少一个 得出 内循环需要比较的范围为(0, len(paixu)-i -1)

“”"
i (外循环次数) 1 2 3 4 5 6 7
j (内循环最大下标的取值) 7 6 5 4 3 2 1
“”"
@TOC

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值