首页 > 编程知识 正文

冒泡排序算法正确的理解是,冒泡法10个整数从小到大排序

时间:2023-05-05 23:23:53 阅读:168602 作者:107

冒泡算法使用方法非常简单,双层循环、外层冒泡轮数、层内一次比较时间复杂幅度为:o(n*2)冒泡排序: 1、比较序列中相邻两个因素,一个数大于第二个数

2、每次比较都会产生最大或最小的数字

3、下一轮可以减少一次排序

4、一个周期到结束

初始代码为public class demo 03 { publicstaticvoidmain [ ] args } { int [ ] arr={ 1,2,3,10,24,20,6,25,5,5 int [ ] soresort system.out.println (arrays.tostring (sort ) ); } public static int [ ] sort (int [ ] array ) { int temp=0; //外层控制轮数for(intI=0; i array.length-1; I () /内层为两个个数的大小for(intj=0; jarray.length-1-i; j () if ) array[j1]array[j] ) { temp=array[j]; array[j]=array[j 1]; array[j 1]=temp; } }返回阵列; }泡沫排序可以再次在基础上优化。 可以添加识别位,至少减少最后一个循环的排序。 代码如下所示。 public class demo 03 { publicstaticvoidmain (string (args ) int ) arr={ 1,2 } int [ ] sort=sort (arr ); system.out.println (arrays.tostring (sort ) ); } public static int [ ] sort (int [ ] array ) { int temp=0; for(intI=0; i array.length-1; I ) { boolean flag=false; //在此添加标志位可以减少无意义的比较for (intj=0; jarray.length-1-i; j () if ) array[j1]array[j] ) { temp=array[j]; array[j]=array[j 1]; array[j 1]=temp; flag=true; }if(flag==false ) ) { break; } }返回阵列; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。