示例#1
0
        public void ShellSorting_Test()
        {
            var rand = new Random();

            var list = Enumerable
                       .Range(1, 10000)
                       .Select(x => rand.Next())
                       .ToList();

            var actual = ShellSorting.Sort(list);

            list.Sort();

            Assert.Equal(list, actual);
        }
        static void Main(string[] args)
        {
            Random     rnd   = new Random();
            List <int> Items = new List <int>();
            var        count = 1000;

            Items.Clear();
            for (int i = 0; i < count; i++)
            {
                Items.Add(rnd.Next(0, 1000));
            }
            Console.WriteLine("Колличество элементов списка " + count);
            row();

            var bubble = new BubbleSorting();

            bubble.Items.AddRange(Items);
            Console.WriteLine("Bubble");
            var time = bubble.Sort();

            Console.WriteLine("Сортировка заняла времени = " + time.TotalSeconds + "c");
            Console.WriteLine("Колличество перестановок " + bubble.SwopCount);
            Console.WriteLine("Колличество сравнений " + bubble.ComparisonCount);
            row();

            var shell = new ShellSorting();

            shell.Items.AddRange(Items);
            Console.WriteLine("Shell");
            time = shell.Sort();
            Console.WriteLine("Сортировка заняла времени = " + time.TotalSeconds + "c");
            Console.WriteLine("Колличество перестановок " + shell.SwopCount);
            Console.WriteLine("Колличество сравнений " + shell.ComparisonCount);
            row();

            var quick = new QuickSorting();

            quick.Items.AddRange(Items);
            Console.WriteLine("Quick");
            time = quick.Sort();
            Console.WriteLine("Сортировка заняла времени = " + time.TotalSeconds + "c");
            Console.WriteLine("Колличество перестановок " + quick.SwopCount);
            Console.WriteLine("Колличество сравнений " + quick.ComparisonCount);
            row();


            Console.ReadLine();
        }