冒泡法排序原理20348教学文案.ppt

冒泡法排序原理20348教学文案.ppt

ID:60792905

大小:358.50 KB

页数:15页

时间:2020-12-19

冒泡法排序原理20348教学文案.ppt_第1页
冒泡法排序原理20348教学文案.ppt_第2页
冒泡法排序原理20348教学文案.ppt_第3页
冒泡法排序原理20348教学文案.ppt_第4页
冒泡法排序原理20348教学文案.ppt_第5页
资源描述:

《冒泡法排序原理20348教学文案.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、冒泡法排序原理20348冒泡法原理分析:假设有N个数据放在数组a中,现要把这N个数从小到大排序.冒泡排序法的基本思想是:第一:在a[0]到a[N-1]的范围内,依次比较两个相邻元素的值,若a[J]>a[J+1],则交换a[J]与a[J+1],J的值取0,1,2,……,N-2;经过这样一趟冒泡,就把这N个数中最大的数放到a[N-1]中.看图示例1:用冒泡排序法对8个整数{6,8,5,4,6,9,3,2}进行从小到大排序.冒泡法原理第二:再对a[0]到a[N-2]的范围内再进行一趟冒泡,又将该范围内的最大值换到了a[N-2]中.看图

2、示二Swap变量作用看图示三第四:如果在某趟冒泡过程中没有交换相邻的值,则说明排序已完成,可以提前结束处理.第三:依次进行下去,最多只要进行N-1趟冒泡,就可完成排序.看流程冒泡法排序现假设有8个随机数已经在数组中,开始排序初始状态:数组aa[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]68546932第一趟排序:两两相邻比较:总结回到思路一8584938692第一趟最后结果:9第二趟冒泡排序开始:此时的待排序元素a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]冒泡法排序6546832954663

3、28945632689同样对待排序元素两两比较后结果为:这是第三趟冒泡的待排序元素接着第三趟冒泡排序结果为:回到思路二冒泡法排序同样第四趟结果为:23456689453266893245668943256689第六趟结果为:第七趟结果(最终)为:第五趟结果为:回到思路二看流程冒泡法排序流程图程序整体流程:开始结束输入数据输出数据冒泡排序细化输入数据流程:i=0i<8MOVXA,@DPTRi++NY细化输出数据流程:i=0i<8MOVX@DPTR,Ai++NY执行第i趟冒泡排序冒泡法排序流程图i++i<8-1i=0YN写程序j=0

4、j<8-i-1NYj++比较相邻两元素的值并交换a[j]>a[j+1]交换a[j]与a[j+1]的值YN冒泡法排序流程图a[j]>a[j+1]swap=1;交换a[j]与a[j+1]的值YNi++;i<8-1i=0YNj<8-i-1NYj++swap=0j=0加入Swap变量的流程图程序!(swap)breakNY冒泡法程序main(){inti,j,a[8],temp,swap;clrscr();for(i=0;i<8;i++)scanf("%d",&a[i]);for(i=0;i<8;i++)printf("%d,",a[i

5、]);printf("");}{}注:对n个元素冒泡排序第i趟排序的待排序元素是a[0]到a[n-i-1]。这里的i表示数组的下标.swap=1;if(!swap)break;swap=0;流程图if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}for(j=0;j<8-i-1;j++)回到第四点上一页比较for(i=0;i<8-1;i++)冒泡法swap变量的作用如果在某趟冒泡过程中没有交换相邻的值,则说明排序已完成,可以提前结束处理.比如:为原始数列:8、15、27、96

6、、32、65、78、79这个序列用冒泡法排序,一趟之后就得到升序结果,而之后的六趟都可以不要进行。所以,swap变量就是用来标识如果某趟排序之后已经得到最终结果,则多余的次数就无须进行。回到流程图冒泡法与选择法的比较用选择排序法对键盘输入的N个数从小到大进行排序.基本思想:假设有N个数据放在数组a中,现要把这N个数从小到大排序.首先:在a[0]到a[N-1]的范围内,选出最小值与a[0]交换;然后:在a[1]到a[N-1]范围内,选出最小值与a[1]交换;接着是a[2]到a[N-1]的范围,这样依次进行下去,进行N-1次选择后就

7、可完成排序.即第i趟排序的待排序范围是a[i]~a[N-1]的元素,要从中选出值最小的元素并与a[i]交换位置。冒泡法与选择法的比较a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]数组a68546932KKiKKK26每趟选择排序是找到待排序序列中最小的元素,把它交换到待排序的最前的位置。所以,一趟只有一次交换。回到冒泡图示iKK384556698总结本次课主要内容:1.冒泡法基本思想,通过n-1趟排序把n个待排序数大的元素象石头一样往下沉(放在最后),小的元素象气泡一样往上浮。2.冒泡法的流程图3.冒泡法程序4

8、.冒泡法中swap变量的作用5.简述了选择法排序,要求回去预习选择法排序。此课件下载可自行编辑修改,仅供参考! 感谢您的支持,我们努力做得更好!谢谢

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。