Python冒泡排序(4)

Python代码:

"""
冒泡排序(4)在未排序的数中,通过两两比较[换位]的方式,将最小的数移至首位
N个数排序,则需要执行N-1轮,第1轮比较N-1次,后续每轮比上一轮少比较1次本例中:
第1轮将0放到正确位置;
第2轮将1放到正确位置;
......
第9轮将8放到正确位置;此方法中,两个位置数字比较时,两个位置都是变化的
第1轮第1次是位置8、位置9的数字比较,前者大,则互换位置;
第1轮第2次是位置7、位置8的数字比较,前者大,则互换位置;
......
第1轮第9次是位置0、位置1的数字比较,前者大,则互换位置;第2轮第1次是位置8、位置9的数字比较,前者大,则互换位置;
......
第2轮第8次是位置1、位置2的数字比较,前者大,则互换位置;
......"""lst = [3, 6, 9, 1, 8, 7, 2, 5, 4, 0]
print("排序前: %s\r\n" %lst)#
for i in range(len(lst)-1,0,-1): #[9,8,7,6,5,4,3,2,1]print("第%s轮" % (10-i))#for j in range(len(lst)-1,len(lst)-i-1,-1):# 如果前大后小,则交换位置if lst[j-1] > lst[j]:lst[j-1],lst[j] = lst[j],lst[j-1]print("    第%s次 [%s]:%s,[%s]:%s比较 互换 %s" % (9-j+1,j-1,lst[j],j,lst[j-1],lst))else:print("    第%s次 [%s]:%s,[%s]:%s比较 不变 %s" % (9-j+1,j-1,lst[j-1],j,lst[j],lst))print("\r\n排序后:  %s" % lst)

 输出结果:

E:\python\algorithm>python3  bubbleSort4.py
排序前: [3, 6, 9, 1, 8, 7, 2, 5, 4, 0]第1轮第1次 [8]:4,[9]:0比较 互换 [3, 6, 9, 1, 8, 7, 2, 5, 0, 4]第2次 [7]:5,[8]:0比较 互换 [3, 6, 9, 1, 8, 7, 2, 0, 5, 4]第3次 [6]:2,[7]:0比较 互换 [3, 6, 9, 1, 8, 7, 0, 2, 5, 4]第4次 [5]:7,[6]:0比较 互换 [3, 6, 9, 1, 8, 0, 7, 2, 5, 4]第5次 [4]:8,[5]:0比较 互换 [3, 6, 9, 1, 0, 8, 7, 2, 5, 4]第6次 [3]:1,[4]:0比较 互换 [3, 6, 9, 0, 1, 8, 7, 2, 5, 4]第7次 [2]:9,[3]:0比较 互换 [3, 6, 0, 9, 1, 8, 7, 2, 5, 4]第8次 [1]:6,[2]:0比较 互换 [3, 0, 6, 9, 1, 8, 7, 2, 5, 4]第9次 [0]:3,[1]:0比较 互换 [0, 3, 6, 9, 1, 8, 7, 2, 5, 4]
第2轮第1次 [8]:5,[9]:4比较 互换 [0, 3, 6, 9, 1, 8, 7, 2, 4, 5]第2次 [7]:2,[8]:4比较 不变 [0, 3, 6, 9, 1, 8, 7, 2, 4, 5]第3次 [6]:7,[7]:2比较 互换 [0, 3, 6, 9, 1, 8, 2, 7, 4, 5]第4次 [5]:8,[6]:2比较 互换 [0, 3, 6, 9, 1, 2, 8, 7, 4, 5]第5次 [4]:1,[5]:2比较 不变 [0, 3, 6, 9, 1, 2, 8, 7, 4, 5]第6次 [3]:9,[4]:1比较 互换 [0, 3, 6, 1, 9, 2, 8, 7, 4, 5]第7次 [2]:6,[3]:1比较 互换 [0, 3, 1, 6, 9, 2, 8, 7, 4, 5]第8次 [1]:3,[2]:1比较 互换 [0, 1, 3, 6, 9, 2, 8, 7, 4, 5]
第3轮第1次 [8]:4,[9]:5比较 不变 [0, 1, 3, 6, 9, 2, 8, 7, 4, 5]第2次 [7]:7,[8]:4比较 互换 [0, 1, 3, 6, 9, 2, 8, 4, 7, 5]第3次 [6]:8,[7]:4比较 互换 [0, 1, 3, 6, 9, 2, 4, 8, 7, 5]第4次 [5]:2,[6]:4比较 不变 [0, 1, 3, 6, 9, 2, 4, 8, 7, 5]第5次 [4]:9,[5]:2比较 互换 [0, 1, 3, 6, 2, 9, 4, 8, 7, 5]第6次 [3]:6,[4]:2比较 互换 [0, 1, 3, 2, 6, 9, 4, 8, 7, 5]第7次 [2]:3,[3]:2比较 互换 [0, 1, 2, 3, 6, 9, 4, 8, 7, 5]
第4轮第1次 [8]:7,[9]:5比较 互换 [0, 1, 2, 3, 6, 9, 4, 8, 5, 7]第2次 [7]:8,[8]:5比较 互换 [0, 1, 2, 3, 6, 9, 4, 5, 8, 7]第3次 [6]:4,[7]:5比较 不变 [0, 1, 2, 3, 6, 9, 4, 5, 8, 7]第4次 [5]:9,[6]:4比较 互换 [0, 1, 2, 3, 6, 4, 9, 5, 8, 7]第5次 [4]:6,[5]:4比较 互换 [0, 1, 2, 3, 4, 6, 9, 5, 8, 7]第6次 [3]:3,[4]:4比较 不变 [0, 1, 2, 3, 4, 6, 9, 5, 8, 7]
第5轮第1次 [8]:8,[9]:7比较 互换 [0, 1, 2, 3, 4, 6, 9, 5, 7, 8]第2次 [7]:5,[8]:7比较 不变 [0, 1, 2, 3, 4, 6, 9, 5, 7, 8]第3次 [6]:9,[7]:5比较 互换 [0, 1, 2, 3, 4, 6, 5, 9, 7, 8]第4次 [5]:6,[6]:5比较 互换 [0, 1, 2, 3, 4, 5, 6, 9, 7, 8]第5次 [4]:4,[5]:5比较 不变 [0, 1, 2, 3, 4, 5, 6, 9, 7, 8]
第6轮第1次 [8]:7,[9]:8比较 不变 [0, 1, 2, 3, 4, 5, 6, 9, 7, 8]第2次 [7]:9,[8]:7比较 互换 [0, 1, 2, 3, 4, 5, 6, 7, 9, 8]第3次 [6]:6,[7]:7比较 不变 [0, 1, 2, 3, 4, 5, 6, 7, 9, 8]第4次 [5]:5,[6]:6比较 不变 [0, 1, 2, 3, 4, 5, 6, 7, 9, 8]
第7轮第1次 [8]:9,[9]:8比较 互换 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]第2次 [7]:7,[8]:8比较 不变 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]第3次 [6]:6,[7]:7比较 不变 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
第8轮第1次 [8]:8,[9]:9比较 不变 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]第2次 [7]:7,[8]:8比较 不变 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
第9轮第1次 [8]:8,[9]:9比较 不变 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]排序后:  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 =====结束=====

转载于:https://www.cnblogs.com/sam11/p/8342817.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453594.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

打印hello world java_java – 如何打印“hello world”?

数字4946144450195624适合64位,其二进制表示为:10001100100100111110111111110111101100011000010101000该程序对每5位组的字符进行解码,从右到左00100|01100|10010|01111|10111|11111|01111|01100|01100|00101|01000d | l | r | o | w | | o…

研发人员为什么留不住

研发人员为什么留不住?(1)——问题与现象 研发团队做为公司的核心,承担了完成项目为公司赚钱的目的。研发人员在公司倍受重视的同时,并没有降低流失率。 问题与现象 以下问题相信您会在朋友口中,甚至自己的公司听到。 老板说&a…

算法与编程--1

1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 package com.test;import java.io.File; import java.io.FileNotFoundException; import …

Safari支不支持HTML5录音? 现在浏览器中最好的解决方案是WebRTC下的 navigator.getUserMedia API。...

先放结论:Safari支不支持HTML5录音? ——据我调查,不支持。 现在浏览器中最好的解决方案是WebRTC下的 navigator.getUserMedia API。 可是当使用Can I use查看兼容性的时候,我发现 不过这个是有历史原因的,我记得RTC是…

python lambda map reduce_简单了解python filter、map、reduce的区别

这篇文章主要介绍了简单了解python filter、map、reduce的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下python中有一些非常有趣的函数,面试的时候可能会遇到。今天也来总结一下,不…

面试问题汇总 精选 分析 解答 职业规划 part 4

程序员做业余项目、记笔记和写博客的重要性【经典】 编程是一种创造过程,业余项目允许程序员在没有截止日期或各种限制的条件下,以探索形式编程。业余项目之所以重要,有以下几个原因。 探索新技术 每天都会不断有新技术出现,而…

NB-IOT连接移动onenet平台流程

1. 先创建账号,然后创建产品 2. 创建设备,用ATCGSN和ATCIMI查询NB-IOT的IMEI和IMSI填写上去。 3. 创建好的设备。 转载于:https://www.cnblogs.com/429512065qhq/p/8359247.html

sort,uniq,wc指令简单用法

sort用于排序,可以根据不同的数据类型来进行排序,例如想要查看最后一个登陆的用户信息,可以把last和sort结合起来使用,按照登陆时间排序。 使用sort排序: sort常用参数: -f :忽略大小写的差异 -…

java ejb jsp 架构_JavaEE架构

B/S 体系结构image.pngJava EE 经典架构image.pngJava EE 13规范JDBCimage.pngJDBC 对象与接口java.sql.DriverManager:用于管理JDBC驱动的服务类,当JDBC驱动加载至内存后,DriverManager会自动注册JDBC驱动,然后通过getConnection…

音视频中的CBR,VBR,ABR

视频码率CBR和VBR 固定码率(CBR)与可变码率(VBR) 一般在我们输出视频文件的时候都会碰到一个选择即CBR与VBR,CBR的英文全称是Constant Bit Rate翻译过来是固定码率,就是说每一秒种的画面如果看做是一个…

fifo java_java – 如何保证ThreadPoolExecutor中的FIFO执行顺序

我用这行代码创建一个ThreadPoolExecutor:private ExecutorService executor new ThreadPoolExecutor(5, 10, 120, TimeUnit.SECONDS, new ArrayBlockingQueue(20, true));然后,我运行25个任务(T01到T25),所以情况是:>目前正在运行的5个任务(T01到T0…

HihoCoder 1671 DFS

本以为是个简单的水题,好吧,其实就是个水题,虽然我还是…… 题意的理解上有一点小小的问题orz,这里的括号里的字母是可以看成一个整体的,可以看作一个字母来进行反转, 比如说,(abc(de))&#xf…

avs 中国音视频标准DRA 中音频标准及应用

DRA 是Digital Rise Audio的缩写。是广州广晟数码技术有限公司(Digital Rise Technology)开发的一项数字音频编码技术,目前是音频编码的国家标准。2007年1月被批准成为中国电子行业标准(标准号SJ/T11368-2006)。DRA音频标准可应用…

UWP数据绑定

已针对 Windows 10 上的 UWP 应用更新。 有关 Windows 8.x 文章,请参阅存档 ] 数据绑定是你的应用 UI 用来显示数据的一种方法,可以选择与该数据保持同步。 借助数据绑定,你可以将关注的数据从关注的 UI 中分离开来,从而可形成一个…

资源链接

http://cn.epubee.com/ 电子书 http://www.feemic.cn/mooc_search/1002384010 中国大学mooc视频下载 http://www.icourse163.org 中国大学mooc http://www.xuetangx.com 学堂在线 http://yun.java1234.com/ 视频搜索 http://www.52studyit.com/转载于:https://www.cnblogs.co…

最大开源代码sourceforge 简介 及视音频方面常用的开源代码

所有的音视频凯源代码在这里:http://sourceforge.net/directory/audio-video/os:windows/,你可以下载分析,视频不懂请发邮件给我,帮你分析。 0.视频项目 0.1 VLC media player VLC 多媒体播放器(最初为VideoLAN Clien…

[转]被当做狗和鸡来驱赶的百姓

原文链接:知乎 杜甫写过许多好诗。 好诗,不一定是辞藻美、场面好、色色入画。 不一定是吴楚东南坼,乾坤日夜浮。不一定是五更鼓角声悲壮,三峡星河影动摇。 不一定是星垂平野阔,月涌大江流。不一定是细雨鱼儿出&#xf…

背包问题(动态规划)

本篇文章作为个人的背包问题学习资料,来自转载 dd大牛的《背包九讲》. P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大…

notepad编译java_Notepad++直接编译运行java代码的具体步骤

最近不少朋友表示还不会Notepad直接编译运行java代码的操作步骤,使用下面小编就带来了Notepad直接编译运行java代码的操作方法哦,一起去看看吧。Notepad直接编译运行java代码的具体步骤下载Notepad,找到Plugin Manager。插件--->Plugin Ma…

基于linux 的2048

于 debian 接着写 2048, 的影响,如下面的: 感兴趣的朋友能够在这里(http://download.csdn.net/download/kamsau/7330933)下载。 版权声明:本文博客原创文章,博客,未经同意,不得转载。…