Beispiel #1
0
        }//Печать всей коллекции

        #endregion

        #region (Task_3)
        private static void Task3()
        {
            int size = 1300;


            int menuChoise = 1;

            while (menuChoise != 0)
            {
                TestCollection testCollection = new TestCollection(size);

                Student first    = null;
                Student middle   = null;
                Student last     = null;
                Student notExist = new Student("test", 18, 1);

                //_____переход от ссылки к элементу_____//
                first  = (Student)testCollection.firstMain.Clone();
                middle = (Student)testCollection.middleMain.Clone();
                last   = (Student)testCollection.lastMain.Clone();

                menuChoise = Task3_menu();
                Console.Clear();
                switch (menuChoise)
                {
                case 1:
                    testCollection.Add(GetStudent());
                    break;

                case 2:
                    testCollection.Remove();
                    break;

                case 3:



                    //_____Измерение времени на поиск_____//
                    SearchAndTime(testCollection.collection_1String, first.BasePerson().ToString(), middle.BasePerson().ToString(),
                                  last.BasePerson().ToString(), notExist.BasePerson().ToString());
                    SearchAndTime(testCollection.collection_1TKey, first, middle, last, notExist);

                    SearchAndTime(testCollection.collection_2TKeyTValue, first.BasePerson(), middle.BasePerson(), last.BasePerson(), notExist.BasePerson());
                    SearchAndTime(testCollection.collection_2StringTValue, first.BasePerson().ToString(), middle.BasePerson().ToString(),
                                  last.BasePerson().ToString(), notExist.BasePerson().ToString());

                    SearchAndTime(testCollection.collection_2TKeyTValue, first, middle, last, notExist);
                    SearchAndTime(testCollection.collection_2StringTValue, first, middle, last, notExist);
                    break;
                }
                Console.WriteLine("Нажмите любую клавишу, чтобы продолжить...");
                Console.ReadKey();
                Console.Clear();
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            bool flag = false;
            // stack
            Stack stack = new Stack();
            // list
            List <Transport> ls = new List <Transport>();
            //testcollection
            TestCollection vs = new TestCollection();

            while (!flag)
            {
                try
                {
                    Menu(mainMenu);
                    int choise = Input.IntCheckConsole();

                    switch (choise)
                    {
                    case 1:
                        PushRandomInStack(ref stack);
                        ShowStack(stack);
                        break;

                    case 2:
                        ShowStack(stack);
                        break;

                    case 3:
                        stack.Pop();
                        ShowStack(stack);
                        break;

                    case 4:
                        Transport[] Transports = new Transport[stack.Count];
                        stack.CopyTo(Transports, 0);
                        Array.Sort(Transports);
                        while (stack.Count != 0)
                        {
                            stack.Pop();
                        }
                        for (int i = 0; i < Transports.Length; i++)
                        {
                            stack.Push(Transports[i]);
                        }
                        ShowStack(stack);
                        break;

                    case 5:
                        int index = Input.IntCheckConsole();
                        int k     = 0;
                        foreach (var i in stack)
                        {
                            if (k == index - 1)
                            {
                                Console.WriteLine(i);
                            }
                            k++;
                        }
                        break;

                    case 6:
                        RequestStack(stack);
                        break;

                    case 7:
                        PushRandomInList(ref ls);
                        ShowList(ls);
                        break;

                    case 8:
                        ShowList(ls);
                        break;

                    case 9:
                        Console.WriteLine("Удалить элемент по ключу: введите номер элемента: ");
                        index = Input.IntCheckConsole();
                        ls.RemoveAt(index - 1);
                        ShowGreen("Элемент удален");
                        ShowList(ls);
                        break;

                    case 10:
                        ls.Sort();
                        ShowList(ls);
                        break;

                    case 11:
                        Console.WriteLine("Найти элемент по ключу: введите скорость транспорта: ");
                        index = Input.IntCheckConsole();
                        Transport tran = (ls.Find(x => x.Speed == index));
                        ShowGreen(tran.ToString());
                        break;

                    case 12:
                        RequestList(ls);
                        break;

                    case 13:
                        Console.WriteLine("Введите размер массива: ");
                        int size = Input.IntCheckConsole();
                        Console.WriteLine("Заполнить рандомно: 1 - да, 0 - нет ");
                        int ranf = Input.IntCheckConsole();
                        vs = new TestCollection(size, 1);
                        break;

                    case 14:
                        if (vs != null)
                        {
                            vs.TCollLinkListTran();
                            vs.TCollLinkListString();
                        }
                        break;

                    case 15:
                        if (vs != null)
                        {
                            vs.TCollDictTranAvtomobileKey();
                            vs.TCollDictStringAvtomobileKey();
                        }
                        break;

                    case 16:
                        if (vs != null)
                        {
                            vs.TCollDictProdAvtomobileValue();
                            vs.TCollDictStringAvtomobileValue();
                        }
                        break;

                    case 17:
                        flag = !flag;
                        break;

                    default:
                        Output.ShowRed("Неопознанное значение!");
                        break;
                    }
                    Console.WriteLine();
                }
                catch (Exception err)
                {
                    Console.WriteLine(err.Message);
                }
            }
        }