}//Печать всей коллекции #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(); } }
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); } } }