七大排序算法之冒泡排序

前言

感覺雖然學了這麼久的編程,但是越發感覺自己編程的思維沒有達到理想中的效果,於是決定整理一下常見的七大排序算法,雖然都很基礎,我也是這麼認爲的,但是越是基礎的東西,吃透了之後,還是能有所收穫的,比如排序算法,至少在需要的場合,能夠信手拈來,我覺得這是必須的。廢話不多說,先從最簡單的冒泡排序開始。

原理

不斷遍歷數組每個元素,比較相鄰兩個元素的大小,如果爲升序,當前者元素大於後者時,則交換這兩個元素,直到第n-1個元素,則第一次遍歷結束,此時最大的數已經“冒泡”到了最後,然後遍歷餘下的n-1個元素,同樣的操作,第二大的數“冒泡”到了倒數第二個位置,往復下去即可完成排序

時間複雜度

平均情況:n*n

最壞情況:n*n

最好情況:n

代碼

public class BubbleSort {

	//冒泡排序
	//不斷比較相鄰的兩個數的大小。交換位置
	
	//時間複雜度   最壞情況  n*n  最好情況 n  平均情況 n*n
	public static void main(String[] args) {
		int[] arr={6,3,8,2,9,1};
		System.out.println("排序前數組爲:");
		for(int num:arr){
			System.out.print(num+" ");
		}
		for(int i=0;i<arr.length-1;i++){//外層循環控制排序趟數
			for(int j=1;j<arr.length-i;j++){//內層循環控制每一趟排序多少次
				if(arr[j-1]>arr[j]){
					int temp=arr[j-1];
					arr[j-1]=arr[j];
					arr[j]=temp;
				}
			}
		}
		System.out.println();
		System.out.println("排序後的數組爲:");
		for(int num:arr){
			System.out.print(num+" ");
		}
	}
}

下一篇:選擇排序

入口在此:點我學習選擇排序

發佈了37 篇原創文章 · 獲贊 86 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章