冒泡法排序原理.ppt
《冒泡法排序原理.ppt》由会员分享,可在线阅读,更多相关《冒泡法排序原理.ppt(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、经典算法介绍:经典算法介绍:排序问题是程序设计中的典型问题之一,它有很广泛排序问题是程序设计中的典型问题之一,它有很广泛的应用,比如给你一组学生成绩,要你输出前的应用,比如给你一组学生成绩,要你输出前2 0 名的成绩。名的成绩。这时你就要用到排序。再比如要问你中国的这时你就要用到排序。再比如要问你中国的GDP排世界第排世界第几,你要先把各国几,你要先把各国GDP排个序,才知道中国在第几。排个序,才知道中国在第几。所谓排序就是将数组中的各元素的值按从小到大的顺所谓排序就是将数组中的各元素的值按从小到大的顺序或按从大到小的顺序重新排列。序或按从大到小的顺序重新排列。排序过程一般都要进行元素值的比较
2、和元素值的交换。排序过程一般都要进行元素值的比较和元素值的交换。冒泡法排序冒泡法排序冒泡法原理冒泡法原理分析分析分析分析:假设有假设有假设有假设有N N个数据放在数组个数据放在数组个数据放在数组个数据放在数组a a中中中中,现要把这现要把这现要把这现要把这N N个数从小到大排序个数从小到大排序个数从小到大排序个数从小到大排序.冒泡排序法的基本思想是冒泡排序法的基本思想是冒泡排序法的基本思想是冒泡排序法的基本思想是:第一第一第一第一:在在在在a0a0到到到到aN-1aN-1的范围内的范围内的范围内的范围内,依次比较两个相邻元素的值依次比较两个相邻元素的值依次比较两个相邻元素的值依次比较两个相邻元
3、素的值,若若若若aJaJ+1,aJaJ+1,则交换则交换则交换则交换aJaJ与与与与aJ+1,JaJ+1,J的值取的值取的值取的值取0,1,2,N-2;0,1,2,N-2;经过经过经过经过这样一趟冒泡这样一趟冒泡这样一趟冒泡这样一趟冒泡,就把这就把这就把这就把这N N个数中最大的数放到个数中最大的数放到个数中最大的数放到个数中最大的数放到aN-1aN-1中中中中.看图示看图示看图示看图示 例例1:用冒泡排序法对用冒泡排序法对8个整数个整数6,8,5,4,6,9,3,2进行从小到进行从小到大排序大排序.冒泡法原理冒泡法原理 第二第二:再对再对a0到到aN-2的范围内再进行一趟冒泡的范围内再进行一
4、趟冒泡,又将该范又将该范围内的最大值换到了围内的最大值换到了aN-2中中.看图示二看图示二看图示二看图示二SwapSwap变量作用变量作用变量作用变量作用看图示三看图示三看图示三看图示三 第四第四:如果在某趟冒泡过程中没有交换相邻的值如果在某趟冒泡过程中没有交换相邻的值,则说明排序则说明排序已完成已完成,可以提前结束处理可以提前结束处理.第三第三:依次进行下去依次进行下去,最多只要进行最多只要进行N-1趟冒泡趟冒泡,就可完成排序就可完成排序.看流程看流程看流程看流程冒泡法排序冒泡法排序现假设有现假设有现假设有现假设有8 8 8 8个随机数已经在数组中,开始排序个随机数已经在数组中,开始排序个随
5、机数已经在数组中,开始排序个随机数已经在数组中,开始排序初始状态:初始状态:初始状态:初始状态:数组数组数组数组a a a a a0 a1 a2 a3 a4 a5 a6 a7a0 a1 a2 a3 a4 a5 a6 a76 6 6 68 8 8 85 5 5 54 4 4 46 6 6 69 9 9 93 3 3 32 2 2 2 第一趟排序:第一趟排序:第一趟排序:第一趟排序:两两相邻比较:两两相邻比较:两两相邻比较:两两相邻比较:总结总结总结总结回到思路一回到思路一回到思路一回到思路一8 85 58 84 49 93 38 86 69 92 2第一趟最后结果:第一趟最后结果:第一趟最后结果
6、:第一趟最后结果:9 9第二趟冒泡排序开始:第二趟冒泡排序开始:第二趟冒泡排序开始:第二趟冒泡排序开始:此时的待排序元素此时的待排序元素此时的待排序元素此时的待排序元素 a0 a1 a2 a3 a4 a5 a6a0 a1 a2 a3 a4 a5 a6 a7a7 冒泡法排序冒泡法排序6 6 6 65 5 5 54 4 4 46 6 6 68 8 8 83 3 3 32 2 2 29 9 9 95 5 5 54 4 4 46 6 6 66 6 6 63 3 3 32 2 2 28 8 8 89 9 9 94 4 4 45 5 5 56 6 6 63 3 3 32 2 2 26 6 6 68 8 8
7、 89 9 9 9同样对待排序元素两两比较后结果为:同样对待排序元素两两比较后结果为:同样对待排序元素两两比较后结果为:同样对待排序元素两两比较后结果为:这是第三趟冒泡的待排序元素这是第三趟冒泡的待排序元素这是第三趟冒泡的待排序元素这是第三趟冒泡的待排序元素接着第三趟冒泡接着第三趟冒泡接着第三趟冒泡接着第三趟冒泡排序结果为:排序结果为:排序结果为:排序结果为:回到思路二回到思路二回到思路二回到思路二冒泡法排序冒泡法排序同样第四趟结果为:同样第四趟结果为:同样第四趟结果为:同样第四趟结果为:2 2 2 23 3 3 34 4 4 45 5 5 56 6 6 66 6 6 68 8 8 89 9
8、9 94 4 4 45 5 5 53 3 3 32 2 2 26 6 6 66 6 6 68 8 8 89 9 9 93 3 3 32 2 2 24 4 4 45 5 5 56 6 6 66 6 6 68 8 8 89 9 9 94 4 4 43 3 3 32 2 2 25 5 5 56 6 6 66 6 6 68 8 8 89 9 9 9第六趟结果为:第六趟结果为:第六趟结果为:第六趟结果为:第七趟结果(最终)为:第七趟结果(最终)为:第七趟结果(最终)为:第七趟结果(最终)为:第五趟结果为:第五趟结果为:第五趟结果为:第五趟结果为:回到思路二回到思路二回到思路二回到思路二看流程看流程看流程
9、看流程冒泡法排序流程图冒泡法排序流程图程序整体流程:程序整体流程:程序整体流程:程序整体流程:开始开始开始开始结束结束结束结束输入数据输入数据输入数据输入数据输出数据输出数据输出数据输出数据冒泡排序冒泡排序细化输入数据流程:细化输入数据流程:细化输入数据流程:细化输入数据流程:i=0i=0i8i8MOVX A,DPTRMOVX A,DPTRi+i+N NY Y细化输出数据流程:细化输出数据流程:细化输出数据流程:细化输出数据流程:i=0i=0i8i8MOVX DPTR,AMOVX DPTR,Ai+i+N NY Y执行第执行第i趟趟冒泡排序冒泡排序冒泡法排序流程图冒泡法排序流程图i+i+i8-1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 冒泡 排序 原理
限制150内