文本内容:
冒泡排序ch5-2冒泡算法的优化i.冒泡排序的核心是重复地走访要排序的数列,在走访的时候,对相邻的两个元素进行比较,如果它们的顺序错误,就把它们交换过来假设有这样一个无序数列目标是按升序排列2,134,5第一轮走访,通过两两比较,将交换和的位置21第二轮走访,通过两两比较,没有需要交换位置的数第三轮走访,通过两两比较,依旧没有需要交换位置的数以此类推,我们发现,直到第九轮走访,都没有需要交换位置的数字了也就是说,从第二轮往后,走访并进行比较的操作都是没必要的,这就是我们需要优化的地方我们可以设置一个标志变量如果发现本轮下来,没有发生过交换flag,操作,则说明后面轮次的走访可以不必进行了,数列已经完成了按序排列优化后的程序代码如下#include stdio.h;void maininta
[5]={2,l,3,4,5}int p,i,tmp,flag=l;forp=l;p5;p++{flag=O;fori=0;i5-p;i++ifa[i]a[i+l]{tmp=a[i];a[i]=a[i+l];a[i+l]=tmp;flag=l;}ifflag==O break;fori=0;i5;i++printf%d。
个人认证
优秀文档
获得点赞 0