Beispiel #1
0
        public static void Show()
        {
            int[] arr = new int[]
            {
                100, 500,
                1000, 2000, 5000
            };

            foreach (int i in arr)
            {
                Console.WriteLine("Длина массива - " + i);

                string[] array = TextGenerator.GenerateText(i).Split();
                Console.WriteLine("сортировка пузырьком O(n^2) " + ", время выполнения - " +
                                  ActionTimeMeasurer.Measure(new Action(() =>
                                                                        BubbleSorter.Sort(array))));

                array = TextGenerator.GenerateText(i).Split();
                Console.WriteLine("сортировка вставками O(log(n)) " + ", время выполнения - " +
                                  ActionTimeMeasurer.Measure(new Action(() =>
                                                                        MergeSorter.Sort(array))));

                GC.Collect();
                Console.WriteLine();
            }

            Console.ReadKey();
        }
Beispiel #2
0
        public static void Show()
        {
            int[] arr = new int[]
            {
                10000, 20000, 30000, 40000, 50000,
                100000, 200000, 500000,
                1000000, 2000000, 5000000, 10000000,
                100000000
            };

            foreach (int i in arr)
            {
                Console.WriteLine("Длина массива - " + i);

                int[] array = IntArrayGenerator.GenerateArray(i);
                Console.WriteLine("быстрая сортировка " + ", время выполнения - " +
                                  ActionTimeMeasurer.Measure(new Action(() =>
                                                                        HoareSorter.Sort(array))));

                array = IntArrayGenerator.GenerateArray(i);
                Console.WriteLine("встроенная сортировка " + ", время выполнения - " +
                                  ActionTimeMeasurer.Measure(new Action(() =>
                                                                        Array.Sort(array))));

                array = IntArrayGenerator.GenerateArray(i);
                Console.WriteLine("сортировка слиянием " + ", время выполнения - " +
                                  ActionTimeMeasurer.Measure(new Action(() =>
                                                                        MergeSorter.Sort(array))));
                GC.Collect();
                Console.WriteLine();
            }

            Console.ReadKey();
        }
Beispiel #3
0
        public async void Sort()
        {
            string[] arr = await Task.Run(() =>
            {
                InputText      = InputText.Trim();
                string[] array = Split(InputText);
                if (array.Length > 0)
                {
                    GC.Collect();
                    BubbleSortingTime = (int)ActionTimeMeasurer.Measure(new Action(() =>
                                                                                   BubbleSorter.Sort(array)));
                    array = Split(InputText);
                    if (array.Length > 0)
                    {
                        GC.Collect();
                        MergeSortingTime = (int)ActionTimeMeasurer.Measure(new Action(() =>
                                                                                      MergeSorter.Sort(array)));
                    }
                    WordsInText = array.Length;
                }
                return(array);
            });

            ArrToObsColl(arr);
            CalcWords(arr);
            SortTextLabel     = "Sort Text";
            UniqueWordsInText = SortedTextWords.Count();
            RaisePropertyChanged("SortTextLabel");
            UpdateInfo();
        }
Beispiel #4
0
        public void TestMethod3()
        {
            long time = ActionTimeMeasurer.Measure(new Action(() => { Thread.Sleep(18000); }));

            Assert.AreEqual(18000, time);
        }
        public static void Show()
        {
            string pathToFolder = Directory.GetCurrentDirectory()
                                  .Replace(@"bin\Debug", "") + @"Files\";
            var countFiles = new DirectoryInfo(pathToFolder).GetFiles().Length;

            Console.WriteLine("---------------------------------------------------");
            for (int i = 1; i <= countFiles; i++)
            {
                string[] text                    = File.ReadAllLines(pathToFolder + "input" + i + ".txt");
                StackOperationsParser sop        = new StackOperationsParser();
                List <StackOperation> operations = sop.Parse(text);
                Console.WriteLine("input" + i + ".txt");
                Console.WriteLine("Время на считывание - " + ActionTimeMeasurer.Measure
                                      (new Action(() => sop.Parse(text))));
                Console.WriteLine();
                StackRealization <object> stack = new StackRealization <object>();
                var watch = new Stopwatch();
                foreach (StackOperation operation in operations)
                {
                    switch (operation.Command)
                    {
                    case StackCommand.Push:
                        watch.Start();
                        long executionTime = ActionTimeMeasurer.Measure
                                                 (new Action(() => stack.Push(operation.Object)));
                        watch.Stop();
                        Console.WriteLine("Команда: Push(" + operation.Object + ")");
                        Console.WriteLine("Время выполнения: " + executionTime);
                        break;

                    case StackCommand.Pop:
                        var saveElement = stack.Top();
                        watch.Start();
                        long executionTime2 = ActionTimeMeasurer.Measure
                                                  (new Action(() => stack.Pop()));
                        watch.Stop();
                        Console.WriteLine("Команда: Pop()");
                        Console.WriteLine("Возвращенное значeние: " + saveElement);
                        Console.WriteLine("Время выполнения: " + executionTime2);
                        break;

                    case StackCommand.Top:
                        watch.Start();
                        long executionTime3 = ActionTimeMeasurer.Measure
                                                  (new Action(() => stack.Top()));
                        watch.Stop();
                        Console.WriteLine("Команда: Top()");
                        Console.WriteLine("Возвращенное значeние: " + stack.Top());
                        Console.WriteLine("Время выполнения: " + executionTime3);
                        break;

                    case StackCommand.isEmpty:
                        watch.Start();
                        long executionTime4 = ActionTimeMeasurer.Measure
                                                  (new Action(() => stack.IsEmpty()));
                        watch.Stop();
                        Console.WriteLine("Команда: IsEmpty()");
                        Console.WriteLine("Возвращенное значeние: " + stack.IsEmpty());
                        Console.WriteLine("Время выполнения: " + executionTime4);
                        break;

                    case StackCommand.Print:
                        watch.Start();
                        long executionTime5 = ActionTimeMeasurer.Measure
                                                  (new Action(() => stack.Print()));
                        watch.Stop();
                        Console.WriteLine("Команда: Print()");
                        Console.WriteLine("Время выполнения: " + executionTime5);
                        break;

                    default:
                        throw new Exception();
                    }
                    string stackСondition = ObjectsToString(stack.Print());
                    Console.WriteLine("Состояние стека: " + stackСondition);
                    Console.WriteLine();
                }
                Console.WriteLine("Время на выполнение - " + watch.ElapsedMilliseconds);
                Console.WriteLine("---------------------------------------------------");
            }
        }