1、冒泡排序算法选自C语言程序设计课程*学校学校情景导入冒泡排序编写程序调试程序语言程序设计排序算法开始下一步仔细观察四个圆柱的排队过程,分析这四个圆柱是如何进行排队的下一步结论?从左到右依次两两比较高低,如果左侧的圆柱比右侧的圆柱高,那么交换位置,直至从低到高排好队。情景导入冒泡排序编写程序调试程序语言程序设计排序算法算法思想动画演示提出问题填流程图先将第一个元素和第二个元素进行比较,若为逆序,则交换;接着比较第二个和第三个元素;依此类推,直到第N-1个元素和第N个元素进行比较、交换为止。如此经过一趟排序,使最大的元素被安置到最后一个元素的位置上。然后,对前N-1个元素进行同样的操作,使次大的元
2、素被安置到第N-1个位置上。重复以上过程,直到没有元素需要交换为止。情景导入冒泡排序编写程序调试程序语言程序设计排序算法算法思想动画演示提出问题填流程图587692初 始 数 据情景导入冒泡排序编写程序调试程序语言程序设计排序算法算法思想动画演示提出问题填流程图点击开始587692第一趟比较第一趟比较结束找到最大数9,两两比较5次。情景导入冒泡排序编写程序调试程序语言程序设计排序算法算法思想动画演示提出问题填流程图点击开始587692第二趟比较第五趟比较结束找到第五大数5,两两比较1次。算法思想动画演示提出问题填流程图情景导入冒泡排序编写程序调试程序语言程序设计排序算法587692结论6 个
3、数 据 排 序,需 要 比 较 5 趟,每 趟 比较的次数分别是5、4、3、2、1次。那么N个数据排序,又该比较几趟,每趟比较几次呢?算法思想动画演示提出问题填流程图情景导入冒泡排序编写程序调试程序语言程序设计排序算法算法思想动画演示提出问题填流程图如何实现两个数据互换呢?121第三变量1情景导入冒泡排序编写程序调试程序语言程序设计排序算法()输入6个数给a0到a5j从()变到()共执行()次循环进行()次比较aiai+1真假输出a0到a5算法思想动画演示提出问题填流程图aiai+10455-j情景导入冒泡排序编写程序调试程序语言程序设计排序算法#includevoid main()int i,j,temp;int a6;printf(请输入6个数;n);for(i=0;i=5;i+)scanf(%d,&ai);for(j=0;j=4;j+)for(i=0;iai+1)temp=ai;ai=ai+1;ai+1=temp;printf(排序后的数字是:);for(i=0;i=5;i+)printf(%3d,ai);情景导入冒泡排序编写程序调试程序语言程序设计排序算法谢谢