Beispiel #1
0
        public void AddToBegin_Begin()
        {
            //arrange
            MyLinkedList list = new MyLinkedList();
            Person       p1   = new Person("1", 1);
            Person       p2   = new Person("2", 2);

            list.AddToBegin(p1);
            list.AddToBegin(p2);
            Point actual = list.Begin;

            //act
            Point expected = new Point(p2);

            ////assert

            Assert.AreEqual(actual.next, list.End);
            Assert.AreEqual(actual.pred, null);
        }
Beispiel #2
0
        private static void Task2()
        {
            {
                int          menu        = 1;
                MyLinkedList linlkedList = new MyLinkedList();
                do
                {
                    menu = Task1_Menu();
                    Console.Clear();
                    switch (menu)
                    {
                    case 1:
                        //формирование коллеции
                        int size = ReadNumber(-1, 50, "Введите размер однонаправленного списка: ");
                        linlkedList = new MyLinkedList(size);                                          //создание списка
                        linlkedList.PrintList();
                        break;

                    case 2:
                        //добавление в коллекцию
                        int add = ReadNumber(0, 4, "1. В начало" + "\n2. В конец" + "\n3. После элемента\n");
                        switch (add)
                        {
                        //в начало
                        case 1:
                            linlkedList.AddToBegin(MakeObject());
                            break;

                        //в конец
                        case 2:
                            linlkedList.AddToEnd(MakeObject());
                            break;

                        case 3:
                            Console.WriteLine("Введите ключ для поиска: ");
                            Person key = MakeObject();
                            Console.WriteLine("Введите элемент для добавления после ключа: ");
                            Person addAfterKey = MakeObject();
                            linlkedList.AddAfterKey(key, addAfterKey);
                            break;
                        }
                        linlkedList.PrintList();
                        break;

                    case 3:
                        Console.WriteLine("Удаление по ключу:");
                        linlkedList.RemoveKey(MakeObject());
                        linlkedList.PrintList();
                        break;

                    case 4:
                        //клонирование
                        int clone = ReadNumber(0, 3, "1. Глубокое клонирование" + "\n2. Поверхностное\n");
                        switch (clone)
                        {
                        //полное
                        case 1:
                            MyLinkedList listClone = linlkedList.Clone();
                            Console.WriteLine("Копия создана");
                            listClone.PrintList();
                            break;

                        //поверхностниое
                        case 2:
                            MyLinkedList listShallowCopy = linlkedList.ShallowCopy();
                            Console.WriteLine("Копия создана");
                            listShallowCopy.PrintList();
                            break;
                        }

                        break;

                    case 5:
                        Console.WriteLine($"Размер коллекции: {linlkedList.Count()}");
                        Console.ReadKey();
                        //Подсчет количества объектов
                        break;

                    case 6:
                        linlkedList.PrintList();
                        //печать
                        break;
                    }
                    Console.Clear();
                } while (menu != 7);

                linlkedList.RemoveCollection();
            }
        }