算法案例第四课时.ppt
算法案例,(第四课时),排序的算法,将下面数字按由小到大的顺序排列,8,3,2,5,9,6,方法1:,S1:比较第2个数与第1个数的大小,并排序得3,8,S2:将第3个数与S1中的数比较,插入适当的位置,得到2,3,8,S3:将第4个数与S2中的数比较,并插入适当的位置,如此继续下去,直到把最后一个数插入到上一步已排好的数列的合适位置为止,得到:,2,3,5,8,2,3,5,8,9,2,3,5,6,8,9,S4:,S5:,排序的算法,将下面数字按由小到大的顺序排列,8,3,2,5,9,6,方法1:,过程演示,开始,排第1次,排第2次,排第3次,排第4次,排第5次,排序的算法,将下面数字按由小到大的顺序排列,8,3,2,5,9,6,方法2:,S1:用第1个数与第2个数比较,若前者小则两数不变,否则,交换这两个数的位置。,S2:按这样的原则,比较第2个数和第3个数,前者小则两数不变,否则,交换这两个数的位置直到比完最后两个数。(称为“一趟”),S3:如果前一趟的比较中交换的次数为0,说明排序已完成,否则回到S2。,根据题意,一趟后的结果是什么?,为什么说前一趟的比较中交换为0次时,排序完成?,3,2,5,8,6,9,排序的算法,将下面数字按由小到大的顺序排列,8,3,2,5,9,6,请将每一趟的结果写出来,第1趟,该趟中交换的次数为_次,4,排序的算法,将下面数字按由小到大的顺序排列,8,3,2,5,9,6,请将每一趟的结果写出来,第2趟,该趟中交换的次数为_次,2,排序的算法,将下面数字按由小到大的顺序排列,8,3,2,5,9,6,请将每一趟的结果写出来,第3趟,该趟中交换的次数为_次,,0,所以排序的结果为:,2,3,5,6,8,9,练习:,1、根据前面的介绍阅读课本P32的例3,并完成图1.3-6的填空,课后作业,课本P38的习题1.3第2、3题,