冒泡排序算法分析课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一步:创建舞者类 每一个舞者包含了 姓名和编号两个属性 * 第二步:创建舞者对象 依据刚才的类,我们构建出所有的舞者对象 * 第三步:创建对象数组 把之前所有的舞者对象,放入一个舞者数组 * * 第四步:运用冒泡算法完成舞者数组的排序 我们运用一个2重循环实现我们的排序,内层循环变量代表比较次数,外层循环变量代表排序趟数。 最后在基础上,我们把打印语句加进去就可以了。 怎么样?是不是很简单啊? 下面我们来总结一下: 首先是大家必须重点掌握的是冒泡排序算法的运行原理:一组数,两两比较,按排序标准进行位置交换, 每趟确定一个最大(或最小)的元素,反复进行,直到排序完成。 其次是,模拟实现舞蹈的步骤,第一步:创建舞者类,第二步,构建所有舞者对象,第三步,将舞者对象放入一个数组中,第四步,运用冒泡排序算法对数组根据对象属性大小进行排序。最后打印排序效果即可。 讲到这里,大家应该发现,排序算法其实没那么复杂,了解定义,理解原理,再用代码模拟一下实现过程,基本上就可以掌握了。除了冒泡排序,还有很多其他的排序算法,还有哪些呢?我们简单了解一下。 * 这正是我们下一个环节 自主学习所要解决的问题 * * 常用的排序算法,有很多,如插入排序 至于它们的实现原理是什么呢? 我相信大家通过我们的空间课程或者资源库一定能掌握的很好。 好,今天的内容就到这里 谢谢 * 掌握冒泡排序的原理 理解冒泡排序的流程 运用冒泡算法实现对象数组的排序 ? 重点 √ √ √ 能力目标 学会使用排序算法设计和解决相关问题 学会运用算法实现程序与现实的关联 分析问题、发现规律的能力? 学习目标 √ √ √ 难点 1 任务描述 2 知识准备 3 任务实施 4 自主学习 学习内容 任务描述 运用冒泡排序算法,模拟实现这支欢快的舞蹈… 任务描述 运行结果: 输入舞者信息 排序前效果 排序后效果 1 任务描述 2 知识准备 3 任务实施 4 自主学习 学习内容 冒泡排序(Bubble Sort) 重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误,则将其位置进行交换。走访数列的工作是重复地进行,直到没有需要交换的元素,也就是说该数列已经排序完成。 知识准备 每次比较相邻两数 小的交换到前面 每轮结束后最大的数交换到最后 16 25 9 90 23 16 25 9 23 90 9 25 23 第一轮:比较了4次 第二轮:比较了3次 第三轮:比较了2次 第四轮:比较了1次 知识准备 i = 0 i = 1 i = 2 i = 3 第一轮:比较了4次 第二轮:比较了3次 第三轮:比较了2次 第四轮:比较了1次 外层循环 如何用二重循环将5个数字排序?N = 5 5个数字存放在一维数组中 外层循环控制比较多少轮,循环变量 i 内层循环控制每轮比较多少次,循环变量 j 内层循环 循环4次:j 4 循环3次:j 3 循环2次:j 2 循环1次:j 1 i 4 i N-1 j ? j 4-i j N-1-i 知识准备 1 任务描述 2 知识准备 3 任务实施 4 自主学习 学习内容 结合舞蹈特征,可以发现一个舞者对应一个对象,整个团队对应一个对象数组…… 一个对象 一个对象数组 任务分析 任务实施 第一步:创建舞者类 讲解关键代码 class Dancer { String name; int num ; } 创建舞者类 任务实施 第二步:创建舞者对象 讲解关键代码 Dancer d0 = new Dancer(); d0.name = Lily; d0.num = 8; Dancer d1 = new Dancer(); …… 创建舞者对象 任务实施 第三步:创建舞者对象数组 讲解关键代码 Dancer[] a = new Dancer[10]; a[0]=d0; a[1]=d1; a[2]=d2; …… 创建舞者对象数组 任务实施 for (i = 0; i a.Length -1 ; i++) { for (j = 0; j a.Length -1 - i ; j++) { if (a[j].num a [j + 1].num ) { // 交换元素 temp = a[j] ; a[j] = a [j + 1] ; a [j + 1] = temp; } } } 两个舞者比较后, 号大的站到后面 外层循环:舞者比

文档评论(0)

定制服务方案 + 关注
实名认证
服务提供商

十余年物业管理经验,专注于物业高中低档服务方案,特色服务创意,业主委员会成立流程。

1亿VIP精品文档

相关文档