天天看點

十大排序-冒泡排序

冒泡排序

原理:依次比較相鄰元素,将最大元素吐到右側(ps:冒泡排序是從小到大對元素進行排序)

冒泡由來:在每一輪進行完比較後将最大元素吐到最右邊,看上去像是在吐泡泡,是以叫做冒泡排序

代碼圖解

import java.util.Arrays;
public class 冒泡排序 {
	public static void main(String[] args) {
		int a[]= {2,1,9,2,6};
		int temp;
		for (int i = 0; i<a.length-1; i++) {         //a.length-1 循環次數不越界
		    boolean flag=false;                      //flag=false 預設本次循環不進行冒泡
			for (int j = 0; j < a.length-i-1; j++) { //a.length-i-1 本次冒泡比較的個數 
				if(a[j]>a[j+1]) {                    //定義變量temp進行指派排序
					temp=a[j];
					a[j]=a[j+1];
					a[j+1]=temp;
					flag=true;                        //若相鄰元素交換位置,flag=true
				}
			}
			System.out.println(Arrays.toString(a));
			if(!flag) break;                          //!flag 說明flag==false,本次循環沒有吐泡泡,就終止整個循環,不再吐泡泡
		}	
	}
}
           

運作結果

十大排序-冒泡排序

冒泡圖解!

十大排序-冒泡排序

繼續閱讀