傳智播客C#基礎--選擇排序--03

選擇排序

 就用這個整數數組,進行選擇排序int[] number = { 2,5,6,1,9,6,2,0};

概念:先假設第一個元素裏面的數是最大的。然後用第一個元素裏面的數和後面的每一個元素裏的數做對比,符合你的要求就把裏面的數值進行交換,交換完之後繼續往後對比。按照從大到小排序,每輪對比完都會產生一個本輪最大的放到前面。

代碼:

//選擇排序
            int[] number = { 2,5,6,1,9,6,2,0};
            //從大到小排序
            int temp = 0;//臨時變量
                         //排序之前
            Console.WriteLine("選擇排序之前");
            for (int z = 0; z < number.Length; z++)
            {
                Console.Write(number[z] + "\t");
            }
            //排序
            //最多對比次數
            for (int i = 0; i <number.Length; i++)
            {
              
                //每次對比完,再次對比都會減少一個對比元素。
                //每個元素的對比次數
                for (int j = i+1; j <number.Length; j++)
                {
                    //判斷大小交換變量位置
                    if (number[i]<number[j])
                    {
                        //如果前的小於後面的,就交換順序
                        temp = number[i];
                        number[i] = number[j];
                        number[j] = temp;

                    }
                    
                }
            }
            Console.WriteLine();
            //對比之後
            Console.WriteLine("選擇排序之後");
            Console.WriteLine();
            foreach (int item in number)
            {
                Console.Write(item +"\t");
            }
            Console.ReadKey();

結果:(從大到小排序)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章