JAVA程序设计-3期(KC005)数组排序KC005070000051-数组排序—冒泡排序(new).pptxVIP

  • 0
  • 0
  • 约1.4千字
  • 约 14页
  • 2021-03-20 发布于北京
  • 举报

JAVA程序设计-3期(KC005)数组排序KC005070000051-数组排序—冒泡排序(new).pptx

数组排序 教学目标 知识目标 冒泡排序法; 能力目标 能够使用冒泡排序算法实现数字排序; 3 班级中有多名同学,使用一维数组保存学生的数学成绩,怎样实现成绩从低到高升序排列? 在Java中如何解决这个问题呢? 可使用冒泡排序算法实现数组元素排序 什么情况下使用数据排序 4 数组排序 冒泡排序法(bubble sort)的基本思想是:通过对相邻元素的比较和交换,使全部记录排列有序。 0 1 2 3 4 5 6 7 8 9 scores 0 1 2 3 4 5 6 7 8 9 scores 5 数组排序 43 18 9 13 55 7 43 以7个元素为例说明冒泡排序 位置1~位置7的元素初始排列如下所示 6 数组排序 43 18 9 13 55 7 43 第一步:令位置1和位置2的元素比较,若位置1的元素大,则交换 交换 第二步:令位置2和位置3的元素比较,若位置2的元素大,则交换 交换 数组排序 第三步:令位置3和位置4的元素比较,若位置3的元素大,则交换 交换 第四步:令位置4和位置5的元素比较,若位置4的元素大,则交换 第五步:令位置5和位置6的元素比较,若位置5的元素大,则交换 交换 数组排序 第六步:令位置6和位置7的元素比较,若位置6的元素大,则交换 交换 最大元素被交换到最后一个位置(位置7) 下一趟则需将次大元素交换到倒数第二个位置 数组排序 次大元素被交换到倒数第二个位置(位置6) 下一趟则需将第三大元素交换到倒数第三个位置,依此类推 数组排序 7个元素进行冒泡排序时,需要六趟,用j表示趟数 j ← 1 j=6? 结束 Y j ← j+1 N 进行第j趟冒泡排序 开始 11 第1趟排序:a[0] — a[1],a[1] — a[2], a[2] — a[3],a[3] — a[4] a[4] — a[5],a[5] — a[6] 比较次数:6次,a[i]—a[i+1],i :0~5 第2趟排序:a[0] — a[1],a[1] — a[2], a[2] — a[3],a[3] — a[4] a[4] — a[5] 第3趟排序:a[0] — a[1],a[1] — a[2], a[2] — a[3],a[3] — a[4] ∷∷∷ 第6趟排序: a[0] — a[1] j = 1, i :0~7-1-j 比较次数:5次,a[i]—a[i+1],i :0~4 比较次数:4次,a[i]—a[i+1],i :0~3 j = 2, i :0~7-1-j j = 3, i :0~7-1-j 比较次数:1次,a[i]—a[i+1],i :0 j = 6, i :1~7-1-j 数组排序 12 数组排序 7个元素进行冒泡排序时,需要六趟,用j表示趟数 j ← 1 j=6? 结束 Y j← j+1 N i表示元素的位置 i=7-i-1? 开始 13 知识点小结 1.在什么情况下使用数组排序? 2.冒泡排序的趟数和每趟比较的次数如何确定? 谢 谢!

文档评论(0)

1亿VIP精品文档

相关文档