深入淺出的排序演算法-氣泡排序
前言
大家好,今天給大家帶來氣泡排序
演算法,希望你們喜歡
氣泡排序
為什麼這個排序要叫冒泡呢?為什麼不叫其他名詞呢?其實這個取名是根據排序演算法的基本思路命名的,見名知意,氣泡排序,就是想泡泡在水裡一樣,在水裡大的泡泡先浮出水面,就是大的先排出來,最小的最慢排出。
氣泡排序,是對排序的各個元素從頭到尾依次進行相鄰的大小比較,比如你是隊長,在你的面前有一排人,你要將其進行排序,依次按照從小到大排序。
怎麼理解最大的值被排除,你是隊長,你對面前的一群人看不慣,進行排序,從左到右開始,第一個和第二個進行比較,大的那個就被挑出來,與第三個進行比較,接下來就是依次按照這個方法比較,就能把那個最大的值,最高的給挑出來不是,這就是第一輪的比較。
接下來,最大的就不用跟他比較了,上面所述,在排序時,你面前的人,是不能亂動的,一旦比較哪個大,兩者就換位,如果第一比第二個小,就是第二個大時,兩者不用換位,第二個就與第三個進行比較。
依照這個方法,兩兩比較,大的都被排到了最後,那麼一旦排完,是不是都依照從小到大,(從低到高)的順序在你面前排好了。
- 程式碼示例
我們用索引下標來解釋
```
//第一輪
for(int index=0;index < arr.length-1; index++){
//相鄰兩個比較
if(arr[index] > arr[index+1]){
int temp = arr[index];
arr[index] = arr[index+1];
arr[index+1] = temp;
}
}
print(arr);
for(int index=0;index < arr.length-2;index++){
//這裡arr.length-2,為什麼比上一次多減了1呢?
//因為第一輪,把最大的排出來了,就不用比較了,少了一個人
if(arr[index] > arr[index+1]){
int temp = arr[index];
arr[index] = arr[index+1];
arr[index+1] = temp;
}
}
print(arr);
for(int index=0;index < arr.length-3;index++){
if(arr[index]>arr[index+1]){
int temp = arr[index];
arr[index] = arr[index+1];
arr[index+1] = temp;
}
}
print(arr);
- 優化
for(int num=1;num
for(int index=0;index
if(arr[index]>arr[index+1]){
int temp = arr[index];
arr[index] = arr[index+1];
arr[index+1] = temp;
}
}
}
```
總結
- 本文講了氣泡排序,如果您還有更好地理解,歡迎溝通
相關文章
- 淺析氣泡排序排序
- 排序演算法--氣泡排序排序演算法
- 排序演算法__氣泡排序排序演算法
- 排序演算法–氣泡排序排序演算法
- 排序——氣泡排序排序
- Java排序演算法之氣泡排序Java排序演算法
- 氣泡排序演算法排序演算法
- 排序演算法 - 氣泡排序和選擇排序排序演算法
- 排序:氣泡排序&快速排序排序
- 淺析氣泡排序-c++排序C++
- 深入淺出的排序演算法-選擇排序排序演算法
- 9. 氣泡排序,以及如何優化氣泡排序,氣泡排序屬於插入排序排序優化
- 氣泡排序排序
- 排序演算法(氣泡排序,選擇排序,插入排序,希爾排序)排序演算法
- 演算法(氣泡排序,快排,歸併排序)演算法排序
- 演算法之常見排序演算法-氣泡排序、歸併排序、快速排序演算法排序
- 【排序演算法動畫解】排序介紹及氣泡排序排序演算法動畫
- 淺解前端必須掌握的演算法(一):氣泡排序前端演算法排序
- js氣泡排序JS排序
- JavaScript氣泡排序JavaScript排序
- 氣泡排序1排序
- 氣泡排序-fusha排序
- 氣泡排序演示排序
- Shell氣泡排序排序
- d氣泡排序排序
- 容器氣泡排序排序
- 氣泡排序法排序
- 氣泡排序(Java)排序Java
- Python 氣泡排序Python排序
- 選擇排序和氣泡排序排序
- 氣泡排序與選擇排序排序
- 【排序】氣泡排序(待補充)排序
- 畫江湖之演算法篇【排序演算法】氣泡排序演算法排序
- 畫江湖之演算法篇 [排序演算法] 氣泡排序演算法排序
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- 死磕演算法之氣泡排序演算法排序
- java氣泡排序演算法實現Java排序演算法
- 從演算法開始 [氣泡排序]演算法排序