實現原理:
- ?比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
- ?對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。
- ?針對所有的元素重復以上的步驟,除了最后一個。
- ?持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。
1 //Bubble Sort 2 public static void BubbleSort(int[] obj){ 3 for(int i =0;i<obj.length-1;i++){ //最多需要n-1趟排序 4 for(int j = 0; j<obj.length-i-1;j++){ //對obj[0,...,n-i-1],此時j的范圍逐漸在減小 5 if(obj[j]<obj[j+1]){ //把小的值交換到后面 6 int temp = obj[j]; 7 obj[j] = obj[j+1]; 8 obj[j+1] = temp; 9 } 10 } 11 } 12 for(int i:obj){ 13 System.out.print(i+" "); 14 } 15 }
?