博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python实现冒泡排序
阅读量:5134 次
发布时间:2019-06-13

本文共 929 字,大约阅读时间需要 3 分钟。

一、代码实现

 

 

 

二、实现思路:

使用双重for循环,内层变量为i,外层变量为j。在内层循环中不断的比较相邻的两个值(i, i+1)的大小:如果i的值大于i+1的值,交换两者位置。每循环一次,外层的j增加1,等到j等于n-1的时候,结束循环。

三、详细思路:

(1)内层循环第一次(9个数做比较)

假设列表a = [34,23,5,64,12,8,43,6,53]

len(a)为9,即长度是9

list(in range(0,8)) = [0,1,2,3,4,5,6,7]   循环了8次

arr1[0]  到  arr1[7]进入循环体。循环体里面有个+1操作,也就是arr1[0]到arr1[8]进行比较操作

   a[0]与a[1]   比较交换取大的为a[1]  >第一次循环结束

a[1]与a[2]  比较交换取大的为a[2]  >第二次循环结束

a[2]与a[3]  比较交换取大的为a[3]  >第三次循环结束

a[3]与a[4]  比较交换取大的为a[4]  >第四次循环结束

a[4]与a[5]  比较交换取大的为a[5]  >第五次循环结束

a[5]与a[6]  比较交换取大的为a[6]  >第六次循环结束

a[6]与a[7]  比较交换取大的为a[7]  >第七次循环结束

a[7]与a[8]  比较交换取大的为a[8]  >第八次循环结束

》以上循环结束时,内层大循环循环了一次,作用是:取到最大的数放在了最后一个位置

(2)内层大循环进行多次,就是外层循环的次数是多少

内层大循环第1次  (9个数,比较8次)   》第8个位置

内层大循环第2次 (8个数,比较7次)    》第7个位置

内层大循环第3次 (7个数,比较6次)    》第6个位置

内层大循环第4次 (6个数,比较5次       》第5个位置

内层大循环第5次 (5个数,比较4次)    》第4个位置

内层大循环第6次 (4个数,比较3次)    》第3个位置

内层大循环第7次 (3个数,比较2次)    》第2个位置

内层大循环第8次 (2个数,比较1次)    》第1个位置,第0个位置同时也决定了

(3)2中的推理决定了i 和 j的值

转载于:https://www.cnblogs.com/maoruke/p/9618303.html

你可能感兴趣的文章
Eclipse 反编译之 JadClipse
查看>>
距离公式汇总以及Python实现
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
php match_model的简单使用
查看>>
SIP服务器性能测试工具SIPp使用指导(转)
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>
STM32单片机使用注意事项
查看>>
移动开发平台-应用之星app制作教程
查看>>
springboot No Identifier specified for entity的解决办法
查看>>
浅谈 unix, linux, ios, android 区别和联系
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
latex for wordpress(一)
查看>>