예제 #1
0
        //Создать очередь из готовой
        private void CreateFromReady()
        {
            MyQueue <IPerson> tmpQueue = new MyQueue <IPerson>();

            IPerson[] add = IPersonCreate.CreateArray(10);
            foreach (IPerson addElement in add)
            {
                tmpQueue.Enqueue(addElement);
            }
            queue = new MyQueue <IPerson>(tmpQueue);
        }
예제 #2
0
파일: MyQueue.cs 프로젝트: cuptain/lab12
 //Элементы и емкости другой последовательность(not ready)
 public MyQueue(MyQueue <T> queue)
 {
     Capacity     = queue.Capacity;
     Count        = queue.Count;
     QueueElement = queue.QueueElement;
 }
예제 #3
0
파일: MyQueue.cs 프로젝트: cuptain/lab12
 public ClassEnumerator(MyQueue <T> t)
 {
     _t          = t;
     currElement = _t.QueueElement;
 }
예제 #4
0
        public void Start()
        {
            string[] mainMenu =
            {
                "Создать очередь",         "Проверка свойств коллекции.", "Проверка метода Contains", "Проверка метода Clear",
                "Проверка метода Dequeue", "Проверка метода Enqueue",     "Проверка метода Peek",     "Проверка метода ToArray",
                "Проверка метода Clone",   "Проверка метода CopyTo",      "Выход"
            };
            int k = 9;

            while (true)
            {
                int sw = Use.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 Worker("Никич", "Семёнов", 48, 15000);
                    IPerson person2 = queue.Peek();
                    Console.WriteLine("\nЧеловек " + person1.Return_se_name() + " " + person1.Return_name() + " содержиться ли в очереди?\n{0}", queue.Contains(person1));
                    Console.WriteLine("\nЧеловек " + person2.Return_se_name() + " " + person2.Return_name() + " содержиться ли в очереди?\n{0}", queue.Contains(person2));
                    Continue();
                    break;

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

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

                case 6:
                    CurrentQueue();
                    IPerson add = IPersonCreate.CreateElement <Engineer>();
                    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();
                    IPerson[] array = queue.ToArray();
                    Console.WriteLine("Вывод массива: ");
                    Output(array);
                    Continue();
                    break;

                case 9:
                    CurrentQueue();
                    MyQueue <IPerson> clone = new MyQueue <IPerson>(queue);
                    Console.WriteLine("Вывод копии: ");
                    MyQueueWork 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;
                }
            }
        }
예제 #5
0
 private MyQueueWork(MyQueue <IPerson> queue)
 {
     this.queue = queue;
 }