數據結構-冒泡排序算法

wKiom1d5wEWQgnfPAAB0D9rRt4s611.png

算法穩定性

冒泡排序就是把小的元素往前調或者把大的元素往後調。比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間。所以,如果兩個元素相等,我想你是不會再無聊地把他們倆交換一下的;如果兩個相等的元素沒有相鄰,那麼即使通過前面的兩兩交換把兩個相鄰起來,這時候也不會交換,所以相同元素的前後順序並沒有改變,所以冒泡排序是一種穩定排序算法。從大到小的冒泡排序

package structsmethod;
/*
 * 冒泡
 */
public class BubbleSort {
	public void bubble(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 void printarr(int a[]){
		for(int i=0;i<a.length;i++){
			System.out.print(a[i]+" ");
			}
	}
	public static void main(String[] args) {
		int[] a={23,56,22,1,45,343,12};
		BubbleSort bs=new BubbleSort();
		bs.bubble(a);
		bs.printarr(a);
		
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章