201804092310->數組操作小練

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace 數組操作題
{
    class Program
    {
        static void Main(string[] args)
        {
            //冒泡排序
            Bubble();
            //選擇
            Selection();
            //希爾排序
            Shell();
            Console.ReadKey();
        }


        private static void Shell()
        {
            int[] arr = new int[] { 3809, 6384, 1029, 654, 987, 432, 987, 56767, 2378, 25757, 12386, 3459, 900, 1311, 759, 123 };
            for (int i = 0; i < arr.Length; i++)
            {
                int temp = arr[i];
                int index = i;
                while (index > 0 && arr[index - 1] < temp)
                {
                    arr[index] = arr[index - 1];
                    --index;
                }
                arr[index] = temp;
            }
            Console.WriteLine("希爾排序");
            foreach (var item in arr)
            {
                Console.Write(item + ",");
            }
            Console.WriteLine();
        }


        private static void Selection()
        {
            int[] arr = new int[] { 97897, 343, 126, 992, 636, 44, 25, 6867, 2289, 139, 545, 23459, 9765, 543, 987, 43298 };
            int min = 0;
            for (int i = 0; i < arr.Length; i++)
            {
                min = i;
                for (int j = i + 1; j < arr.Length; j++)
                {
                    if (arr[j] < arr[min])
                    {
                        min = j;
                    }
                }
                int temp = arr[min];
                arr[min] = arr[i];
                arr[i] = temp;
            }
            Console.WriteLine("選擇排序");
            foreach (var item in arr)
            {
                Console.Write(item + ",");
            }
            Console.WriteLine();
        }


        private static void Bubble()
        {
            int[] arr = new int[] { 23232, 4554, 122, 7878, 639, 23, 21, 535, 123789, 23235, 7929, 4448, 18827 };
            for (int i = 0; i < arr.Length; i++)
            {
                for (int j = i+1; j < arr.Length; j++)
                {
                    if (arr[i]<arr[j])//<則從大到小,>則從小到大
                    {
                        int temp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = temp;
                    }
                }
            }
            Console.WriteLine("冒泡排序");
            foreach (var item in arr)
            {
                Console.Write(item + ",");
            }
            Console.WriteLine();
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章