冒泡排序演算法

  • 2020 年 6 月 25 日
  • 筆記
經典冒泡排序演算法
 
using System;
using System.Threading.Tasks;

namespace SingletonDemo
{
    class Program
    {
        static void Main(string[] args)
        {


            int[] arr = new int[10];
            for(int i=0;i<=9;i++){
                arr[i] = new Random(i+DateTime.Now.Millisecond).Next(100,999);
            }
            
            Console.WriteLine("排序之前的數組為 :********************************");
            Show(arr);
            Console.WriteLine();
            Console.WriteLine("排序中的數組為 :********************************");
            
            BubbleSort1(arr);
            Console.WriteLine("排序之後的數組為 :********************************");
            Show(arr);
            Console.Read();
        }
        
        
        static void BubbleSort1(int[] arr){
            int temp=0;
            for(int outer=arr.Length; outer>=1;outer--){
                for(int inner =0;inner <outer-1;inner++){
                    if(arr[inner] > arr[inner+1]){
                        temp = arr[inner+1];
                        arr[inner+1] = arr[inner];
                        arr[inner]=temp;
                    }
                }
                Show(arr);
                Console.WriteLine();
            }
        }
        static void Show(int[] arr){
            foreach(var item in arr){
                Console.Write(item+"  ");
            }
        }
    }
}

 

排序之前的數組為 :********************************
977 588 159 628 199 669 239 709 280 749
排序中的數組為 :********************************
588 159 628 199 669 239 709 280 749 977
159 588 199 628 239 669 280 709 749 977
159 199 588 239 628 280 669 709 749 977
159 199 239 588 280 628 669 709 749 977
159 199 239 280 588 628 669 709 749 977
159 199 239 280 588 628 669 709 749 977
159 199 239 280 588 628 669 709 749 977
159 199 239 280 588 628 669 709 749 977
159 199 239 280 588 628 669 709 749 977
159 199 239 280 588 628 669 709 749 977
排序之後的數組為 :********************************
159 199 239 280 588 628 669 709 749 977