コード例 #1
0
ファイル: LinkedTestTest.cs プロジェクト: sdcb/DataStructure
        public void AddToEndTest()
        {
            var list = new MyLinkedList <int>();

            list.AddToEnd(1);
            list.AddToEnd(2);
            list.AddToEnd(3);

            Assert.Equal(new[] { 1, 2, 3 }, list.ToArray());
        }
コード例 #2
0
ファイル: LinkedTestTest.cs プロジェクト: sdcb/DataStructure
        public void RemoveLastIsOk()
        {
            var list = new MyLinkedList <int>();

            list.AddToEnd(1);
            list.AddToEnd(2);
            list.AddToEnd(3);

            list.RemoveLast();
            Assert.Equal(new[] { 1, 2 }, list);
            Assert.Equal(2, list.Count);
        }
コード例 #3
0
ファイル: LinkedTestTest.cs プロジェクト: sdcb/DataStructure
        public void RemoveLastWhenCount1()
        {
            var list = new MyLinkedList <int>();

            list.AddToEnd(1);

            list.RemoveLast();
            Assert.Equal(new int[] { }, list);
            Assert.Equal(0, list.Count);
        }
コード例 #4
0
ファイル: LinkedTestTest.cs プロジェクト: sdcb/DataStructure
        public void RemoveFirstWhenOnly1Element()
        {
            var list = new MyLinkedList <int>();

            list.AddToEnd(1);

            list.RemoveFirst();
            Assert.Equal(new int[] { }, list);
            Assert.Equal(0, list.Count);
        }
コード例 #5
0
ファイル: UnitTestLinkedList.cs プロジェクト: adselina/lab12
        public void AddToEnd_End()
        {
            //arrange
            MyLinkedList list = new MyLinkedList();
            Person       p1   = new Person("1", 1);
            Person       p2   = new Person("2", 2);

            list.AddToEnd(p1);
            list.AddToEnd(p2);
            Point actual = list.End;

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

            ////assert

            Assert.AreEqual(actual.next, null);
            Assert.AreEqual(actual, list.Begin.next);
        }
コード例 #6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var linkedList = new MyLinkedList();

            for (int i = 6; i > 0; i--)
            {
                linkedList.AddToEnd(i);
            }

            linkedList.SwapNodesInParis(linkedList.Head);

            Console.WriteLine(linkedList.PrintLinkedList());
        }
コード例 #7
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();
            }
        }