Exemplo n.º 1
0
        private static void Main()
        {
            string[] mainMenu =
            {
                "Задание 1. Использовать коолекцию Stack.",
                "Задание 2. Работа с обобщенной коллекцией SortedDictionary",
                "Задание 3. Создание своей коллекции Queue", "Выход."
            };
            while (true)
            {
                var sw = Print.Menu(0, mainMenu);
                switch (sw)
                {
                case 1:
                    var stack = new StackWork();
                    stack.Start();
                    break;

                case 2:
                    var dictionary = new SortedDictionaryWork();
                    dictionary.Start();
                    break;

                case 3:
                    var queue = new MyQueueWork();
                    queue.Start();
                    break;

                case 4:
                    return;
                }
            }
        }
Exemplo n.º 2
0
        public void Start()
        {
            string[] mainMenu =
            {
                "Создать очередь.",         "Проверка св-в коллекции.", "Проверка метода Contains.",
                "Проверка метода Clear.",
                "Проверка метода Dequeue.", "Проверка метода Enqueue.", "Проверка метода Peek.",
                "Проверка метода ToArray.",
                "Проверка метода Clone.",   "Проверка метода CopyTo.",  "Выход."
            };
            var k = 9;

            while (true)
            {
                var sw = Print.Menu(k, mainMenu);
                switch (sw)
                {
                case 1:
                    k = Create();
                    break;

                case 2:
                    CurrentQueue();
                    Console.WriteLine("\nОбъем коллекции: {0}", _queue.Capacity);
                    Console.WriteLine("\nКол-во элементов в последовательности: {0}", _queue.Count);
                    Continue();
                    break;

                case 3:
                    CurrentQueue();
                    IPerson person1 = new Student("Адам", "Арсанукаев", 1, 10);
                    var     person2 = _queue.Peek();
                    Console.WriteLine(
                        "\nЧеловек " + person1.Return_SeName() + " " + person1.Return_Name() +
                        " содержиться ли в очереди?\n{0}", _queue.Contains(person1));
                    Console.WriteLine(
                        "\nЧеловек " + person2.Return_SeName() + " " + person2.Return_Name() +
                        " содержиться ли в очереди?\n{0}", _queue.Contains(person2));
                    Continue();
                    break;

                case 4:
                    CurrentQueue();
                    _queue.Clear();
                    Console.WriteLine("Очередь очищена...");
                    k = 0;
                    Continue();
                    break;

                case 5:
                    CurrentQueue();
                    var person = _queue.Dequeue();
                    Console.WriteLine("\nВывели человека: ");
                    person.Show();
                    Console.WriteLine("\nОчередь после изменения: ");
                    CurrentQueue();
                    Continue();
                    break;

                case 6:
                    CurrentQueue();
                    var add = CreateIPerson.CreateElement <Associate>();
                    Console.WriteLine("\nДобавим в конец списка: ");
                    add.Show();
                    _queue.Enqueue(add);
                    Console.WriteLine("\nОчередь после изменения: ");
                    CurrentQueue();
                    Continue();
                    break;

                case 7:
                    CurrentQueue();
                    person = _queue.Peek();
                    Console.WriteLine("\nВывели человека: ");
                    person.Show();
                    Console.WriteLine("\nОчередь не изменена: ");
                    CurrentQueue();
                    Continue();
                    break;

                case 8:
                    CurrentQueue();
                    var array = _queue.ToArray();
                    Console.WriteLine("Вывод массива: ");
                    Output(array);
                    Continue();
                    break;

                case 9:
                    CurrentQueue();
                    var clone = new MyQueue <IPerson>(_queue);
                    Console.WriteLine("Вывод копии: ");
                    var cloneMyQueueWork = new MyQueueWork(clone);
                    cloneMyQueueWork.Output();
                    break;

                case 10:
                    CurrentQueue();
                    _queue.CopyTo(out array, _queue.Count / 2);
                    Console.WriteLine("Вывод массива: ");
                    Output(array);
                    Continue();
                    break;

                case 11:
                    return;
                }
            }
        }