冒泡排序

冒泡排序Bubble sort

原理是臨近的數字兩兩進行比較,按照從小到大或者從大到小的順序進行交換,

這樣一趟過去後,最大或最小的數字被交換到了最後一位,

然後再從頭開始進行兩兩比較交換,直到倒數第二位時結束


namespace 冒泡法排序
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("請輸入要排序的數組:");
            string str = Console.ReadLine();
            string[] str1 = str.Split(' ');
            int[] arr = new int[str1.Length];


            for(int i=0;i<str1.Length;i++)
            {
                arr[i] = Convert.ToInt16(str[i]);
            }


            int exchange = arr.Length - 1;  //定義每次交換記錄的位置
            int bound;                      //定義無序區的最後一個記錄
            int temp;                       //定義交換中介數


            while(exchange!=0)
            {
                bound = exchange;           //設置無序區的最後一個記錄位置
                exchange = 0;               //設置初始排序使記錄交換的位置爲0


                for(int i=0;i<bound;i++)
                {
                    if(arr[i]>arr[i+1])
                    {
                        temp = arr[i];
                        arr[i] = arr[i +1];
                        arr[i + 1] = temp;
                        exchange = i;
                    }
                }
            }
            //算法關鍵


            Console.WriteLine("排序後爲:");
            foreach(int s in arr)
            {
                Console.Write("{0} ", s);


            }
            Console.ReadLine();


        }
    }
}


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