1. 程式人生 > >冒泡排序(Java版)

冒泡排序(Java版)

16px out color strong ole 元素 pri array boolean

  冒泡排序基本思想

      1.比較相鄰的元素,如果第一個比第二個大,就交換它們兩個。

      2.對每一對相鄰元素做同樣的工作,從開始的第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

      3.針對所有的元素重復以上的步驟,除了最後一個。

      4.持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。

 1 package cn.hst.hh;
 2 
 3 import java.util.Arrays;
 4 
 5 /**
 6  * 測試冒泡排序
 7  * @author Trista
 8  *
9 */ 10 public class TestBubbleSort { 11 public static void main(String[] agrs) { 12 int[] values = {3,1,6,2,9,0,7,4,5,8}; 13 int temp = 0; 14 for(int i=values.length-1;i>0;i--) { 15 int count = 0; 16 boolean flag = true; 17 for(int
j=0;j<i;j++) { 18 if(values[j]>values[j+1]) { 19 temp = values[j]; 20 values[j] = values[j+1]; 21 values[j+1] = temp; 22 flag = false; 23 } 24 count++; 25 }
26 if(flag) { //如果沒有交換,則認為已經排好 27 break; 28 } 29 System.out.println(Arrays.toString(values)); 30 System.out.println("共"+count+"次"); 31 System.out.println("################"); 32 } 33 System.out.println(Arrays.toString(values)); 34 } 35 36 }

冒泡排序(Java版)