C# bubble sort,selection sort,insertion sort

static void Main(string[] args)        {            InsertionSortDemo();            Console.ReadLine();        }        static void InsertionSortDemo()        {            Random rnd = new Random();            int[] arr = new int[100];            for (int i = 0; i < 100; i++)            {                arr[i] = rnd.Next(0, 1000);            }            Console.WriteLine("Raw data:");            foreach (var a in arr)            {                Console.Write(a + "\t");            }            InsertionSort(arr);            Console.WriteLine("\n\n\nAfter insertion sort:");            foreach(var a in arr)            {                Console.Write(a + "\t");            }        }        static void InsertionSort(int[] arr)        {            int inner, temp;            for (int outer = 0; outer < arr.Length; outer++)            {                temp = arr[outer];                inner = outer;                while (inner > 0 && arr[inner - 1] >= temp)                {                    arr[inner] = arr[inner - 1];                    inner--;                }                arr[inner] = temp;            }        }        static void SelectSortDemo()        {            Random rnd = new Random();            int[] arr = new int[100];            for (int i = 0; i < 100; i++)            {                arr[i] = rnd.Next(0, 10000);            }            Console.WriteLine("Raw data:");            foreach (var a in arr)            {                Console.Write(a + "\t");            }            SelectionSort(arr);            Console.WriteLine("\n\n\nAfter selection sort:");            foreach(var a in arr)            {                Console.Write(a + "\t");            }        }        public void SelectSort(int[] arr)        {            int min;            for(int outer=0;outer<=arr.Length;outer++)            {                min = outer;                for(int inner=outer+1;inner<=arr.Length;inner++)                {                    if(arr[inner]<arr[min])                    {                        min = inner;                    }                }                if(min!=outer)                {                    int temp = arr[min];                    arr[min] = arr[outer];                    arr[outer] = temp;                }            }        }        static void SelectionSortDemo()        {            Random rnd = new Random();            int[] arr = new int[100];            for (int i = 0; i < 100; i++)            {                arr[i] = rnd.Next(0, 1000);            }            Console.WriteLine("Raw data:");            foreach (var a in arr)            {                Console.Write(a + "\t");            }            int[] selectionArr = SelectionSort(arr);            Console.WriteLine("\n\nSelection sort:");            foreach(var a in selectionArr)            {                Console.Write(a + "\t");            }        }        static int[] SelectionSort(int[] arr)        {                         int min = 0;            for(int i=0;i<arr.Length-1;i++)            {                min = i;                for(int j=i+1;j<arr.Length;j++)                {                    if(arr[j]<arr[min])                    {                        min = j;                    }                }                if (i != min)                {                    int temp = arr[i];                    arr[i] = arr[min];                    arr[min] = temp;                }            }            return arr;        }        static void BubbleDemo()        {            Random rnd = new Random();            int[] arr = new int[100];            for(int i=0;i<100;i++)            {                arr[i] = rnd.Next(0, 1000);            }            Console.WriteLine("Raw data:");            foreach(var a in arr)            {                Console.Write(a + "\t");            }            int[] ascArr = BubbleSort(arr, true);            Console.WriteLine("\n\n\nAsc order:");            foreach(var a in ascArr)            {                Console.Write(a + "\t");            }            int[] descArr = BubbleSort(arr, false);            Console.WriteLine("\n\n\nDesc order:");            foreach(var a in descArr)            {                Console.Write(a + "\t");            }        }        static int[] BubbleSort(int[] arr,bool isAsc)        {            if(arr==null && arr.Length==0)            {                return null;            }                         for(int i=0;i<arr.Length;i++)            {                for(int j=i+1;j<arr.Length;j++)                {                    //Ascending                    if(isAsc)                    {                        if(arr[i]>arr[j])                        {                            int temp = arr[i];                            arr[i] = arr[j];                            arr[j] = temp;                        }                    }                    //Descending                    else                    {                        if(arr[i]<arr[j])                        {                            int temp = arr[i];                            arr[i] = arr[j];                            arr[j] = temp;                        }                    }                }            }            return arr;        }
(0)

相关推荐