標籤:java 冒泡排序
冒泡排序的原理說明:
第一趟:依次比較相鄰的兩個數,如果後面的數比前面的數小,則交換兩個數的位置,一趟下來,所有關鍵字中最大的關鍵字會在最後,所以第二趟排序可以不考慮腳標最大位的關鍵字
第二趟:重複上述過程,但是第二趟中關鍵字總數比第一趟中少一個,因為所有關鍵字中最大的那個已經確定了
.
.
以此類推
.
.
public class 冒泡排序 { public static void bubblesort(int a[])//最佳化 { for(int i=0;i<a.length-1;i++)//記錄共比較幾輪 { 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; } } } } public static void maopao(int a[]) //bubblesort { for(int n=a.length;n>1;n--) { for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if(a[i]>a[j]) { int m=a[i]; a[i]=a[j]; a[j]=m; } else break; } } } } public static void print(int a[]) { for(int x=0;x<a.length;x++) { if(x!=a.length-1) System.out.print(a[x]+","); else System.out.print(a[x]); } //return int; System.out.println(); } public static void main(String[] args) { int []a=new int[]{56,34,21,45,75,24,1,1,5}; print(a); //int []b=new int[a.length]; maopao(a); print(a); bubblesort(a); print(a); }}
【java】冒泡排序的實現