氣泡排序的基本思想是:通過對待排序序列從前往後(從下標較小的元素開始),
依次比較相鄰元素的值,若發現逆序則交換,使值較大的元素逐漸從前移向後部,就像水底下的泡泡一樣逐漸向上冒。
測試八萬個資料進行排序,使用優化後的**大致需要20秒
**如下:
public
static
void
bubblesort
(int
arr)}}
return arr;
}
如何優化氣泡排序?
我們可以在第一層迴圈中,定義乙個boolean型別的標識變數,用於判斷當前迴圈是否進行過交換,如果沒有進行過交換,則可以提前結束迴圈,表示排序已經結束
**如下:
public
static
void
bubblesort
(int
arr)
}//在排序中,一次交換都沒有發生過if(
!flag)
else
}return arr;
}
氣泡排序以及氣泡排序的優化
很早接觸過氣泡排序法,但一直沒有真正的理解,只是為了記住而學習,今天又重新看了一下,其實氣泡排序法第一次排序會把最大的冒到最上面,第二次會把次大的泡冒到最大的後面,一次類推 另外在排序的次數上會逐漸減少。看 void bubble sort int a,int n 其實還可以優化一下,當發現沒有進行...
氣泡排序以及氣泡排序的優化
很早接觸過氣泡排序法,但一直沒有真正的理解,只是為了記住而學習,今天又重新看了一下,其實氣泡排序法第一次排序會把最大的冒到最上面,第二次會把次大的泡冒到最大的後面,一次類推 另外在排序的次數上會逐漸減少。看 void bubble sort int a,int n 其實還可以優化一下,當發現沒有進行...
氣泡排序以及優化
排序 1.穩定的排序演算法 2.不穩定的排序演算法 3.比較排序 元素之間的次序依賴它們之間的比較,每個數需要與其他數進行比較才能確定自己的位置。比較典型的比較排序有快速排序,歸併排序,堆排序,氣泡排序。4非比較排序 非比較排序只要確定每個元素之前的已有元素個數即可,經過一次遍歷便可以解決。排序 1...