香蕉视频app

Keep on going never give up.

Let's Go

C# 學習筆記(49)冒泡排序算法

C#Lonely2019-05-19 23:30:0090次0條

// 冒泡排序法,讓數組中的元素兩兩比較(第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();






暗錨,解決錨點偏移

文章評論

    嘿,來試試登錄吧!