// 冒泡排序法,讓數組中的元素兩兩比較(第i個與i+1個比較),經過(數組n個元素,要比較 n-1 趟)趟兩兩比較,數組中的元素能按照我們預期的規律排序; // 降序排序(從大到小排序),兩兩比較要用 < // 升序排序 (從小到大排序),兩兩比較要用 > //10、20、30、40、50 原始數據 5個元素 //20、30、40、50、10 第一趟 比較4次 //30、40、50、20、10 第二趟 比較3次 //40、50、30、20、10 第三趟 比較2次 //50、40、30、20、10 第四趟 比較1次 //n個元素,就要排n-1趟 ,如5個元素,排5-1=4趟 //每趟比較的次數為n-1-i int[] num = new int[10];//(數組n個元素,要比較 n-1 趟) int temp = 0; //輸入 Console.WriteLine("請輸入10個整數,回車確認輸入下一個數,請輸入:"); for (int i = 0; i < num.Length; i++) { num[i] = int.Parse(Console.ReadLine()); } //冒泡排序 for (int i = 0; i < num.Length - 1; i++) //控制比較的趟數,循環一次表示比較了一趟;(數組n個元素,要比較 n-1 趟); { for (int j = 0; j < num.Length - 1 - i; j++)//控制比較的次數,每趟比較的次數為n-1-i,如:最開始的要排9次,依次9,8,7,6…… { if (num[j] > num[j + 1]) //兩兩比較,第n個與n+1個比較(第一個數和第二個數比,第二個數和第三個數比……) { //交換位置 temp = num[j]; num[j] = num[j + 1]; num[j + 1] = temp; } } } //輸出 Console.WriteLine("升序排序輸出:"); for (int i = 0; i < num.Length; i++) { Console.WriteLine(num[i]); } Console.ReadKey();
文章評論