思想:每次讓最大的到最後面去。用兩層循環,第一層控制趟數,第二層作調整。主要適合數據基本有序的狀況優化
public class sort_bobble {code
public static void main(String[] args) { int a[]={1,7,3,9,0,4,5,6}; int b[]=a; for(int i=0;i<a.length;i++) System.out.print(a[i]+" "); System.out.println(); sort_bobble(b); for(int i=0;i<a.length;i++) System.out.print(a[i]+" "); System.out.println(); } public static void sort_bobble(int a[]){ int temp; for(int i=0;i<a.length;i++){ for(int j=0;j<a.length-1;j++){ if(a[j]>a[j+1]){ temp = a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } } //優化的冒泡 public static void sort_bobble1(int a[]){ int temp; int flag=0; for(int i=0;i<a.length;i++){ for(int j=0;j<a.length-1;j++){ if(a[j]>a[j+1]){ temp = a[j]; a[j]=a[j+1]; a[j+1]=temp; flag=1; } } if(flag!=1) break; } }
}class