冒泡就是重复地遍历要排序的数列,一次比较两个元素(泡泡),如果他们的顺序错误就把他们交换过来,像泡泡一样,依次按照顺序上升排列。

冒泡排序算法的运作如下:

  • 比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。
  • 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
  • 针对所有的元素重复以上的步骤,除了最后一个。
  • 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
写了三种冒泡,大同小异,差不多都一样昂,这应该是注释最多的冒泡排序了吧O(∩_∩)O哈哈~

 1 ##第一种冒泡##
a=[2,9,4,1]#列表
n=len(a)#a的列表元素长度.n=4
for i in range(n-1):#外循环,控制循环轮数,n-1是索引从0开始取的。(n-1=3)
for j in range(n-i-1):#内循环控制元素循环次数(n-i-1=3)
if a[j]>a[j+1]:#j=0,j+1=1,如果a[0]>a[0+1]
a[j],a[j+1]=a[j+1],a[j]#复合赋值,如果满足条件则进行调换
print(a)
##第二种冒泡##
a=[2,9,4,1]#列表
n=len(a)#a的列表元素长度.n=4
for i in range(n-1):#外循环,控制循环轮数,n-1是索引从0开始取的。(n-1=3)
for j in range(n-i-1):#内循环控制元素循环次数(n-i-1=3)
if a[j]>a[j+1]:#j=0,j+1=1,如果a[0]>a[0+1]
#这种调换方式比较麻烦些,不像上一个一步到位
jj = a[j + 1]#把a[j+1]赋值给jj
a[j + 1] = a[j]#然后再把a[j]赋值给a[jz=1]
a[j] = jj#然后再把jj赋值给a[j]
print(a)
##第三种冒泡##
aa = [2,9,4,1]
def sort(aa):#定义一个函数
print('排序前:')
print(aa)
for i in range(len(aa)-1):#len(aa)#得出aa的元素长度
for j in range(len(aa)-1-i):#剩下的就给上面的一样了
if aa[j]>aa[j+1]:
aa[j],aa[j+1]=aa[j+1],aa[j]
print('第{}次排序后:'.format(i+1))#用到了format函数
print(aa)
sort(aa)
print('排序后:')
print(aa)
最后来个直接排序的函数,一招制敌。
aa = [2,9,4,1]
aa.sort(reverse=False)#sort直接排序函数,True 降序,False 升序(默认)。
print(aa)

最新文章

  1. struts2 s:file标签使用及文件上传例子
  2. 总结Android中遇见的OOM
  3. 关于html自闭合标签要不要加空格和斜杠的问题?
  4. iOS拨打电话的三种方式
  5. 高校排名 加强版(codevs 2799)
  6. SoapUI中如何传递cookie
  7. 理解MapReduce
  8. IT项目量化管理:细化、量化与图形化 与 中国IT项目实施困惑
  9. 隐式Intent实例
  10. 安卓仿制新浪微博(一)之OAuth2授权接口
  11. Visual Studio 2012设置Jquery/Javascript智能提示
  12. NPOI导Excel样式设置(转)
  13. ELK日志收集分析系统配置
  14. Redis+Twemproxy+HAProxy集群(转) 干货
  15. unity中手机触摸代码
  16. tar压缩文件排除文件夹【原创】
  17. SOAP port
  18. C#中巧用#if DEBUG 进行调试
  19. java aop做一个接口耗时的计算
  20. HDUOJ--畅通工程

热门文章

  1. 测试安装phpmyadmin4.0
  2. 跳出手掌心--如何立即触发UIButton边界事件
  3. 自定义View系列教程03--onLayout源码详尽分析
  4. oracle函数 NLS_LOWER(x[,y])
  5. Android 高仿QQ滑动弹出菜单标记已读、未读消息
  6. react框架下,在页面内加载显示PDF文件,关于react-pdf-js的使用注意事项
  7. java代码注释:单行//,多行/* */,文档注释/** */
  8. 2018-7-31-C#-判断两条直线距离
  9. WPF 从零开始开发 dotnet Remoting 程序
  10. H3C 各类路由默认优先级