C语言冒泡排序

上传人:小*** 文档编号:243137353 上传时间:2024-09-16 格式:PPT 页数:16 大小:877KB
返回 下载 相关 举报
C语言冒泡排序_第1页
第1页 / 共16页
C语言冒泡排序_第2页
第2页 / 共16页
C语言冒泡排序_第3页
第3页 / 共16页
点击查看更多>>
资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,C,语言,冒泡排序,制作人:宋奎,学号:,1007021036,班级:,10,数理系数学(,1,)班,情景:,1,、观察水中的气泡往上冒的情景,气泡往上冒的时候有什么特点呢?,2,、第一次上体育课集队的时候体育老师是怎么样帮我们按身材的高低顺序进行排队的?,冒泡原理:,冒泡排序和气泡在水中不断往上冒的情况有些类似。气泡,大的,(大的数据)在,下面,,,气泡,小的,(小的数据)在,上面,。,冒泡排序的基本原理是对存放原始数据的数组,按,从前往后,的方向进行,多次扫描,,每次扫描称为一趟。当发现,相邻,两个数据的次序与排序要求的大小,次序不符合,时,,即将这两个数据,进行互换,。这样,较小的数据就会逐个向前移动,好象气泡向上浮起一样。,算法:,首先比较第一个和第二个数据,将其中较小的数据放到第一个位置,较大的放到第二个位置;然后比较第二个和第三个数据,仍将较小放到后一个位置。依此类推,直到比较第,n-1,和第,n,个数据。这样,就将待排序序列中的最大的一个放到了第,n,个数据,这个过程称为第一趟排序。,下面对前,N-1,个数据重复这个过程(不用考虑第,n,个数据,因为它已经是最大的了),又将次大的数据放到了第,n-1,个位置。一般地,第,i,趟冒泡排序是对第,1,个到第,n-i+1,个数据进行操作,选出原序列第,i,大的数据放到数组的第,n-i+1,位置。重复这个过程,直到,i=n-1,为止。,算法演示:,第一趟冒泡排序:,45,54,12,66,33,39,10,26,72,5,45,26,72,5,72,5,54,12,66,33,39,10,45,54,12,66,33,39,10,26,4512,位置交换;,54,5433,位置交换;,66,66,6639,位置交换;,66,6610,位置交换;,66,6626,位置交换;,665,位置交换;,72,72,后面没有数了,所以,72,是最大的了。,这样,一趟冒泡排序就完成了。,第一趟排序结果:,45,12,54,33,39,10,26,66,5,72,第二趟排序结果:,12,45,33,39,10,26,54,5,66,72,第三趟排序结果:,12,33,39,10,26,45,5,54,66,72,第四趟排序结果:,12,33,10,26,39,5,45,54,66,72,第五趟排序结果:,10,12,26,5,33,39,45,54,66,72,12,10,26,33,5,39,45,54,66,72,第六趟排序结果:,10,5,12,26,33,39,45,54,66,72,10,12,5,26,33,39,45,54,66,72,第七趟排序结果:,第八趟排序结果:,5,10,12,26,33,39,45,54,66,72,5,10,12,26,33,39,45,54,66,72,第九趟排序结果:,最终得到的一组有序数:,问:那么,一组数据用冒泡排序法进行排序需要进行多少趟比较呢?每趟需要比较多少次呢?,答:如果有,n,个数,则要进行,n-1,趟比较。在第,1,趟比较中要进行,n-1,次两两比较,在第,j,趟比较中要进行,n-j,次两两比较。,思考:那么根据这种特性能否画出流程图呢?,流程图,开始,j=7,i=1,ri,ri+1,是,t=,ri,;,ri,=ri+1; ri+1=t,i=i+1,ij,j0,结束,是,否,是,否,返回,根据画出的,流程图,,编写程序:,#include ,int,main(),int,a10;,int,i,j,t,;,printf(input,10 numbers:n);,for(i,=0;i10;i+),scanf(%d,&ai,);,printf(n,);,for(j,=0;j9;j+),for(i,=0;iai+1), t=,ai,;,ai,=ai+1;,ai+1=t;,printf(the,sorted numbers :n);,for(i,=0;i10;i+),printf(%d,ai,);,printf(n,);,return 0;,程序运行的结果:,小结:,本节课主要学习了冒泡排序的基本原理及其算法流程图,冒泡排序是最常用也是最基本的排序方法,很多其他的排序方法都可以由它改进而来,比如现在常用的快速排序法等。,谢谢观看!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!