1、用冒泡排序法排列一组数用冒泡排序法排列一组数主讲:朱令主讲:朱令冒泡排序冒泡排序教学目标:理解冒泡排序的原理教学目标:理解冒泡排序的原理 理解冒泡排序的流程图理解冒泡排序的流程图 加深对变量的使用的理解加深对变量的使用的理解教学难点:冒泡排序的原理和流程图教学难点:冒泡排序的原理和流程图冒泡原理:质量大的(大的数据)下沉冒泡原理:质量大的(大的数据)下沉 质量小的(小的数据)上浮质量小的(小的数据)上浮例:将一组无序数组排成从小到大例:将一组无序数组排成从小到大 49,38,65,97,76,13,27,49 方法:下沉法和上浮法方法:下沉法和上浮法原数据和序号原数据和序号序号序号序号序号1
2、12 23 34 45 56 67 78 8数据数据数据数据49493838656597977676131327274949第一趟下沉的步骤:第一趟下沉的步骤:序号序号序号序号1 12 23 34 45 56 67 78 8数据数据数据数据38384949656597977676131327274949序号序号序号序号1 12 23 34 45 56 67 78 8数据数据数据数据38384949656597977676131327274949序号序号序号序号1 12 23 34 45 56 67 78 8数据数据数据数据38384949656597977676131327274949序号序号
3、序号序号1 12 23 34 45 56 67 78 8数据数据数据数据38384949656576769797131327274949序号序号序号序号1 12 23 34 45 56 67 78 8数据数据数据数据38384949656576761313979727274949序号序号序号序号1 12 23 34 45 56 67 78 8数据数据数据数据38384949656576761313272797974949序号序号序号序号1 12 23 34 45 56 67 78 8数据数据数据数据38384949656576761313272749499797经过一趟下沉,把最大的数沉到最底
4、了经过一趟下沉,把最大的数沉到最底了用流程图把这一趟下沉描述出来:用流程图把这一趟下沉描述出来:i=1,T=0T=RiRi=Ri+1Ri+1=Ti=i+1i7是是否否是是否否一个完整的程序来表示这个算法一个完整的程序来表示这个算法:#includestdio.hmain()int R8;int T=0;int i,j;printf(请输入8个整数:);for(i=1;i=8;i+)scanf(%d,&Ri);for(i=1;i=7;i+)for(j=1;jRj+1)T=Rj;Rj=Rj+1;Rj+1=T;printf(排序后的数字是:);for(i=1;i=8;i+)printf(%d,Ri;运行结果:运行结果:谢谢!谢谢!