C语言冒泡排序法.pptx
冒泡排序教学目标:理解冒泡排序的原理 理解冒泡排序的流程图 加深对变量的使用的理解教学难点:冒泡排序的原理和流程图第1页/共8页冒泡原理:质量大的(大的数据)下沉 质量小的(小的数据)上浮例:将一组无序数组排成从小到大 49,38,65,97,76,13,27,49 方法:下沉法和上浮法第2页/共8页原数据和序号序号序号序号序号1 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序号序号序号序号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经过一趟下沉,把最大的数沉到最底了经过一趟下沉,把最大的数沉到最底了第3页/共8页用流程图把这一趟下沉描述出来:i=1,T=0T=RiRi=Ri+1Ri+1=Ti=i+1i7是否是否第4页/共8页一个完整的程序来表示这个算法:#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;第5页/共8页运行结果:第6页/共8页谢谢!第7页/共8页感谢您的欣赏!第8页/共8页