標籤:
演算法核心
1 public void bubbleSort(){2 for(int i=0;i<length;i++){ //一共進行幾趟3 for(int j=0;j<length-i-1;j++){ //每一趟中,最後i個已經為有序狀態4 if(a[j]>a[j+1]){5 swap(j,j+1);6 }7 }8 }9 }
完整演算法
1 package bubbleSort; 2 3 public class Sort { 4 public static void main(String args[]){ 5 Array arr = new Array(10); 6 for(int i=0;i<10;i++){ 7 arr.insert(10-i); 8 } 9 arr.bubbleSort();10 arr.display();11 }12 13 }14 class Array{15 private int[]a;16 private int length;17 public Array(int max){18 a = new int[max];19 length=0;20 }21 public void insert(int value){22 a[length]=value;23 length++;24 }25 public void display(){26 for(int i=0;i<a.length;i++){27 System.out.println("a["+i+"]="+a[i]);28 }29 }30 public void bubbleSort(){31 for(int i=0;i<length;i++){ //一共進行幾趟32 for(int j=0;j<length-i-1;j++){ //每一趟中,最後i個已經為有序狀態33 if(a[j]>a[j+1]){34 swap(j,j+1);35 }36 }37 }38 }39 public void swap(int indexa,int indexb){40 int temp = a[indexa];41 a[indexa]= a[indexb];42 a[indexb]=temp;43 }44 }
運行結果
冒泡排序(Java)