《《冒泡排序》课件.ppt》由会员分享,可在线阅读,更多相关《《冒泡排序》课件.ppt(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、冒泡排序冒泡排序用用APP INVENTOR APP INVENTOR 制作冒泡排序制作冒泡排序APPAPP授课者:姚佳璇授课者:姚佳璇授课对象:高一授课对象:高一二、冒泡排序思路分析一、什么是冒泡排序三、冒泡排序APP制作目目 录录什么是冒泡排序什么是冒泡排序?活动一:请观看一个活动一:请观看一个“数字从小到大排序数字从小到大排序”的视频,并思考以的视频,并思考以下问题,做好抢答准备。下问题,做好抢答准备。1.两两数比较,什么时候交换位置?两两数比较,什么时候交换位置?2.视频中一轮比较下来,谁冒泡了?(谁已经排好顺序)视频中一轮比较下来,谁冒泡了?(谁已经排好顺序)3.如果再进行前面数的比
2、较,已经冒泡的数还需要参加吗?如果再进行前面数的比较,已经冒泡的数还需要参加吗?什么是冒泡排序什么是冒泡排序?1.两两数比较,什么时两两数比较,什么时候交换位置?候交换位置?2.视频中一轮比较下来,视频中一轮比较下来,谁冒泡了?(谁已经排谁冒泡了?(谁已经排好顺序)好顺序)3.如果再进行前面数的如果再进行前面数的比较,已经冒泡的数还比较,已经冒泡的数还需要参加吗?需要参加吗?视频:舞蹈者身上的数字按从小到大视频:舞蹈者身上的数字按从小到大的顺序排序(第一轮)的顺序排序(第一轮)原始数据:3,7,2,5,4第一轮比较结果:第一轮比较结果:3,2,5,4,7什么是冒泡排序什么是冒泡排序?挑战一:请
3、观看一个挑战一:请观看一个“数字从小到大排序数字从小到大排序”的视频,并思考以的视频,并思考以下问题,做好抢答准备。下问题,做好抢答准备。1.两两数比较,什么时候交换位置?两两数比较,什么时候交换位置?2.视频中一轮比较下来,谁冒泡了?(谁已经排好顺序)视频中一轮比较下来,谁冒泡了?(谁已经排好顺序)3.如果再进行前面数的比较,已经冒泡的数还需要参加吗?如果再进行前面数的比较,已经冒泡的数还需要参加吗?当前数当前数下一个数下一个数最大的数最大的数不需要不需要什么是冒泡排序什么是冒泡排序?冒泡排序(以从小到大排序为例):冒泡排序(以从小到大排序为例):两两数比较,如果两两数比较,如果当前数当前数
4、下一个数下一个数,则两数交换,从而实,则两数交换,从而实现把较大的数往后推移,直至后面没有比它更小的数。再把剩现把较大的数往后推移,直至后面没有比它更小的数。再把剩下来的数按同样的方法进行比较。下来的数按同样的方法进行比较。冒泡排序的思路分析冒泡排序的思路分析挑战二:挑战二:请同学们完成学案中的冒泡排序练习,将所给数按从小到大请同学们完成学案中的冒泡排序练习,将所给数按从小到大排序,并写出每一轮的排序结果。排序,并写出每一轮的排序结果。原始数据原始数据 12 7 34 27 6 第一第一轮轮排序排序7 12 27 6 34 第二第二轮轮排序排序第三第三轮轮排序排序第四第四轮轮排序排序冒泡排序的
5、思路分析冒泡排序的思路分析在每一轮中:在每一轮中:第第1个数个数和和第第2个数个数比较,如果比较,如果第第1个数个数大于大于第第2个数个数,则交换位置;,则交换位置;第第2个数个数和和第第3个数个数比较,如果比较,如果第第2个数个数大于大于第第3个数个数,则交换位置;,则交换位置;第第x个数个数和和第第x+1个数比较,如果个数比较,如果第第x个数个数大于大于第第x+1个数个数,则交换位置。,则交换位置。原始数据原始数据 12 7 34 27 6 第一第一轮轮排序排序7 12 27 6 34 第二第二轮轮排序排序7 12 6 27 34第三第三轮轮排序排序7 6 12 27 34第四第四轮轮排序
6、排序6 7 12 27 34 冒泡排序的思路分析冒泡排序的思路分析第第x个数个数和和第第x+1个数比较,如果个数比较,如果第第x个数个数大于大于第第x+1个数个数,则交换位置。,则交换位置。思考:以当前练习中的思考:以当前练习中的5个数为例个数为例1.x的范围从的范围从 到到 ;2.总共进行多少轮的比较?总共进行多少轮的比较?一般情况下,假设有一般情况下,假设有y个数字排序,则总共需进行个数字排序,则总共需进行y-1轮的比较。轮的比较。原始数据原始数据 12 7 34 27 6 第一第一轮轮排序排序7 12 27 6 34 第二第二轮轮排序排序7 12 6 27 34第三第三轮轮排序排序7 6
7、 12 27 34第四第四轮轮排序排序6 7 12 27 34 冒泡排序的思路分析冒泡排序的思路分析原始数据原始数据 12 7 34 27 6 第一第一轮轮排序排序7 12 27 6 34 第二第二轮轮排序排序7 12 6 27 34第三第三轮轮排序排序7 6 12 27 34第四第四轮轮排序排序6 7 12 27 34 x=1如果第如果第xx个数个数第第x+1x+1个数个数两两交换XX是否是否=4第第x+1x+1个数个数两两交换XX是否是否=4=4是第第x个数个数和和第第x+1个数比较,如果个数比较,如果第第x个数个数大于大于第第x+1个数个数,则交换位置。,则交换位置。一般情况下,假设有一般情况下,假设有y个数字排序,则总共需进个数字排序,则总共需进行行y-1轮的比较。轮的比较。否X自增1结束本轮循环y=1y自增1yy是否是否=4下一个数下一个数,则两数交换,从而实,则两数交换,从而实现把较大的数往后推移,直至后面没有比它更小的数。再把剩现把较大的数往后推移,直至后面没有比它更小的数。再把剩下来的数按同样的方法进行比较。下来的数按同样的方法进行比较。
限制150内