经典排序算法 - 冒泡排序Bubble sort
經(jīng)典排序算法 - 冒泡排序Bubble sort
其原理是比較接近的數(shù)字22,按照從小到交換大或降序排列,
這樣一趟過去后,最大或最小的數(shù)字被交換到了最后一位,
然后再?gòu)念^開始進(jìn)行兩兩比較交換,直到倒數(shù)第二位時(shí)結(jié)束,其余類似看樣例
樣例為從小到大排序,
原始待排序數(shù)組| 6 | 2 | 4 | 1 | 5 | 9 |
第一趟排序(外循環(huán))
第一次兩兩比較6 > 2交換(內(nèi)循環(huán))
交換前狀態(tài)| 6 | 2 |?4 | 1 | 5 | 9 |
交換后狀態(tài)| 2 | 6 |?4 | 1 | 5 | 9 |
?
第二次兩兩比較,6 > 4交換
交換前狀態(tài)| 2?| 6 | 4 |?1 | 5 | 9 |
交換后狀態(tài)| 2?| 4 | 6 |?1 | 5 | 9 |
?
第三次兩兩比較,6 > 1交換
交換前狀態(tài)| 2 | 4?| 6 | 1 |?5 | 9 |
交換后狀態(tài)| 2 | 4?| 1 | 6 |?5 | 9 |
?
第四次兩兩比較,6 > 5交換
交換前狀態(tài)| 2 | 4 | 1?| 6 | 5 |?9 |
交換后狀態(tài)| 2 | 4 | 1?| 5 | 6 |?9 |
?
第五次兩兩比較,6 < 9不交換
交換前狀態(tài)| 2 | 4 | 1 | 5?| 6 | 9 |
交換后狀態(tài)| 2 | 4 | 1 | 5?| 6 | 9 |
?
第二趟排序(外循環(huán))
第一次兩兩比較2 < 4不交換
交換前狀態(tài)| 2 | 4 |?1 | 5 | 6 | 9 |
交換后狀態(tài)| 2 | 4 |?1 | 5 | 6 | 9 |
?
第二次兩兩比較,4 > 1交換
交換前狀態(tài)| 2?| 4 | 1 |?5 | 6 | 9 |?
交換后狀態(tài)| 2?| 1 | 4 |?5 | 6 | 9 |
?
第三次兩兩比較,4 < 5不交換
交換前狀態(tài)| 2 | 1?| 4 | 5 |?6 | 9 |?
交換后狀態(tài)| 2 | 1?| 4 | 5 |?6 | 9 |
?
第四次兩兩比較,5 < 6不交換
交換前狀態(tài)| 2 | 1 | 4?| 5 | 6 |?9 |
交換后狀態(tài)| 2 | 1 | 4?| 5 | 6 |?9 |
?
第三趟排序(外循環(huán))
第一次兩兩比較2 > 1交換
交換后狀態(tài)| 2 | 1 |?4 | 5 | 6 | 9 |
交換后狀態(tài)| 1 | 2 |?4 | 5 | 6 | 9 |
?
第二次兩兩比較,2 < 4不交換
交換后狀態(tài)| 1?| 2 | 4 |?5 | 6 | 9 |?
交換后狀態(tài)| 1?| 2 | 4 |?5 | 6 | 9 |
?
第三次兩兩比較,4 < 5不交換
交換后狀態(tài)| 1 | 2?| 4 | 5 |?6 | 9 |?
交換后狀態(tài)| 1 | 2?| 4 | 5 |?6 | 9 |
?
第四趟排序(外循環(huán))無交換
第五趟排序(外循環(huán))無交換
排序完成,輸出終于結(jié)果1 2 4 5 6 9
代碼僅供參考
static void bubble_sort(int[] unsorted){for (int i = 0; i < unsorted.Length; i++){for (int j = i; j < unsorted.Length; j++){if (unsorted[i] > unsorted[j]){int temp = unsorted[i];unsorted[i] = unsorted[j];unsorted[j] = temp;}}}}static void Main(string[] args){int[] x = { 6, 2, 4, 1, 5, 9 };bubble_sort(x);foreach (var item in x){Console.WriteLine(item);}Console.ReadLine();}?
冒泡排序動(dòng)畫演示
?
版權(quán)聲明:本文博客原創(chuàng)文章。博客,未經(jīng)同意,不得轉(zhuǎn)載。
轉(zhuǎn)載于:https://www.cnblogs.com/bhlsheji/p/4750360.html
總結(jié)
以上是生活随笔為你收集整理的经典排序算法 - 冒泡排序Bubble sort的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么在泰山上进行攀岩活动?
- 下一篇: 怎么在泰山上进行蹦极活动?