算法:冒泡算法及优化
代码如下:public class MaoPao { public static int a[] ={1,2,3,4,5,6,7,8,9}; public static void main(String args[]) { sort(); for (int k: a) { System.out.println(k); } } public static void sort() { for (int i =0;i <a.length;i++) { int flag = 0; for (int j = 0 ;j<a.length-i-1;j++) { if(a[j]>a[j+1]) { int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; flag = 1; } } if(flag == 0) { break; } } } }
核心思想:内层循环用于挨着的项前后比较,将最值传递到最后一位,外层循环用于不断缩小冒泡范围。
优化方案:如果在某一次内层循环后,发现未出现交换处理,说明数组顺序,此时推出外层循环,实现方法可以在外层循环上设置一个flag,然后用作判断。