《冒泡法排序算法.ppt》由会员分享,可在线阅读,更多相关《冒泡法排序算法.ppt(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、3.4.1冒泡法排序算法冒泡法排序算法情景:做操前,同学们按身高从低到高排队,如何排序呢?微视频冒泡排序u冒泡排序是在给定数据中把较小(较大)数据逐次向上推移的一种排序技术。亲身体验,及时记录数据:例:例:5名同学的身高数据存放在数组名同学的身高数据存放在数组a中,中,a5=164,157,161,168,160,对此数据进,对此数据进行从小到大顺序排序行从小到大顺序排序参与排序的数据总数比较次数阶段结果第一趟第二趟第三趟第四趟冒泡排序过程演示亲身体验,并思考:请同学们思考:请同学们思考:u第一趟比较了多少次?比较后的序列是?如何进行比较的?u第二趟比较了多少次?比较后的序列是?如何进行比较的
2、?u第三趟比较了多少次?比较后的序列是?如何进行比较的?u第四次比较了多少次?比较后的序列是?如何进行比较的?u一共比较了几趟?数组中一共有5个数据,所以需要比较4趟,第一趟比较了4次,第二趟比较了3次,以此类推,最后一趟比较了1次。归纳分析:归纳总结 规律的一般性动画中是对5个数从小到大进行排序,如果对n个数进行排序呢?第一趟比较n-1次,第二趟比较n-2次,依此类推,往后每一趟比较的次数依次递减,最后一趟比较1次,一共比较n-1趟。冒泡排序的基本思想和原理基本思想基本思想:将相邻两个数比较,小的交换到前面,大的交换到后面。基本原理:基本原理:对存放数据的数组,按照从前往后的方向进行多次扫描
3、,每次扫描称为一趟。当发现相邻两个数据的次序与排序要求的大小次序不符合时,即将这两个数据进行交换。冒泡排序的具体过程具体过程:具体过程:(1)将n个数按从小到大顺序进行排序,第一趟将相邻两个数比较,小的交换到前面,大的交换到后面,经n-1次比较后,最小的数被交换到第一个位置。(2)第二趟对余下的n-1个数按上面方法比较交换,经n-2次比较后将次小的数放在第二个位置。(3)依次类推,n个数共进行n-1趟比较,在第j趟中要进行n-j次两两比较。冒泡排序程序伪代码:Fori=1to4Forj=5 TOi+1 step-1Ifa(j)a(j-1)THEN交换a(j)和a(j-1)的值EndifNextjNexti归纳总结1.冒泡排序法的思想2.冒泡排序法的原理学生练习:1.有五位同学体育比赛的成绩依次为96,87,90,84,90,若采用冒泡排序算法对其进行从小到大排序,第二趟排序结果为:_2.设计一个算法:用冒泡排序的方法对班级某一科目成绩表中的数据进行排序。(要求写出流程图和程序代码)(例:语文科目有10位同学成绩依次为:89,78,93,99,87,77,86,94,92,100)