經典排序算法之冒泡排序(Bubble sort)代碼。本站提示廣大學習愛好者:(經典排序算法之冒泡排序(Bubble sort)代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是經典排序算法之冒泡排序(Bubble sort)代碼正文
經典排序算法 - 冒泡排序Bubble sort
道理是鄰近的數字兩兩停止比擬,依照從小到年夜或許從年夜到小的次序停止交流,
如許一趟曩昔後,最年夜或最小的數字被交流到了最初一名,
然後再從頭開端停止兩兩比擬交流,直到倒數第二位時停止,其他相似看例子
例子為從小到年夜排序,
原始待排序數組| 6 | 2 | 4 | 1 | 5 | 9 |
第一趟排序(外輪回)
第一次兩兩比擬6 > 2交流(內輪回)
交流前狀況| 6 | 2 | 4 | 1 | 5 | 9 |
交流後狀況| 2 | 6 | 4 | 1 | 5 | 9 |
第二次兩兩比擬,6 > 4交流
交流前狀況| 2 | 6 | 4 | 1 | 5 | 9 |
交流後狀況| 2 | 4 | 6 | 1 | 5 | 9 |
第三次兩兩比擬,6 > 1交流
交流前狀況| 2 | 4 | 6 | 1 | 5 | 9 |
交流後狀況| 2 | 4 | 1 | 6 | 5 | 9 |
第四次兩兩比擬,6 > 5交流
交流前狀況| 2 | 4 | 1 | 6 | 5 | 9 |
交流後狀況| 2 | 4 | 1 | 5 | 6 | 9 |
第五次兩兩比擬,6 < 9不交流
交流前狀況| 2 | 4 | 1 | 5 | 6 | 9 |
交流後狀況| 2 | 4 | 1 | 5 | 6 | 9 |
第二趟排序(外輪回)
第一次兩兩比擬2 < 4不交流
交流前狀況| 2 | 4 | 1 | 5 | 6 | 9 |
交流後狀況| 2 | 4 | 1 | 5 | 6 | 9 |
第二次兩兩比擬,4 > 1交流
交流前狀況| 2 | 4 | 1 | 5 | 6 | 9 |
交流後狀況| 2 | 1 | 4 | 5 | 6 | 9 |
第三次兩兩比擬,4 < 5不交流
交流前狀況| 2 | 1 | 4 | 5 | 6 | 9 |
交流後狀況| 2 | 1 | 4 | 5 | 6 | 9 |
第四次兩兩比擬,5 < 6不交流
交流前狀況| 2 | 1 | 4 | 5 | 6 | 9 |
交流後狀況| 2 | 1 | 4 | 5 | 6 | 9 |
第三趟排序(外輪回)
第一次兩兩比擬2 > 1交流
交流後狀況| 2 | 1 | 4 | 5 | 6 | 9 |
交流後狀況| 1 | 2 | 4 | 5 | 6 | 9 |
第二次兩兩比擬,2 < 4不交流
交流後狀況| 1 | 2 | 4 | 5 | 6 | 9 |
交流後狀況| 1 | 2 | 4 | 5 | 6 | 9 |
第三次兩兩比擬,4 < 5不交流
交流後狀況| 1 | 2 | 4 | 5 | 6 | 9 |
交流後狀況| 1 | 2 | 4 | 5 | 6 | 9 |
第四趟排序(外輪回)無交流
第五趟排序(外輪回)無交流
排序終了,輸入終究成果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(); }
冒泡排序動畫演示
以上所述是小編給年夜家引見的經典排序算法之冒泡排序(Bubble sort)的代碼,願望對年夜家有所贊助!