Beispiel #1
0
        public Node1 Delete(Node1 node)
        {
            if (node.Next == null)
            {
                return(node);
            }

            Node1 newNode = new Node1();

            if (node.Next.Data.GetPopulation() % 2 == 0)
            {
                newNode.Next = Delete(node.Next.Next);
            }
            else
            {
                newNode.Next = Delete(node.Next);
            }
            if (node.Data.GetPopulation() % 2 == 0)
            {
                newNode = newNode.Next;
            }
            else
            {
                newNode.Data = node.Data;
            }
            return(newNode);
        }
Beispiel #2
0
        public void Print()
        {
            Node1 curNode = this;

            while (curNode != null)
            {
                curNode.Data.Print();
                curNode = curNode.Next;
            }
        }
Beispiel #3
0
        static void Menu1()
        {
            int option = -1;

            while (option != 0)
            {
                Console.Clear();
                Console.WriteLine("1) Создать список.");
                Console.WriteLine("2) Вывести список.");
                Console.WriteLine("3) Удалить из списка первый элемент с четным информационным полем.");
                Console.WriteLine("4) Удалить список из памяти.");
                Console.WriteLine("0) Выход.");
                Console.WriteLine("Выберите опцию: ");
                option = Input.Int(0, 5);
                switch (option)
                {
                case 0:
                    return;

                    break;

                case 1:
                    Console.WriteLine("Введите размер списка: ");
                    node1 = Node1.MakeList(Input.Int(1, 100000));
                    Console.WriteLine("Список создан.");
                    break;

                case 2:
                    if (node1 == null)
                    {
                        Console.WriteLine("Объект пуст.");
                    }
                    else
                    {
                        node1.Print();
                    }
                    break;

                case 3:
                    node1 = node1.Delete(node1);
                    break;

                case 4:
                    node1.Dispose();
                    node1 = null;
                    Console.WriteLine("Список удален из памяти");
                    break;
                }
                Console.ReadKey();
            }
        }
Beispiel #4
0
        public static Node1 MakeList(int size)
        {
            Country data = new Country();

            Node1 first = MakeNode(data);

            for (int i = 1; i < size; i++)
            {
                data = new Country();
                Node1 node = MakeNode(data);
                node.Next = first;
                first     = node;
            }
            return(first);
        }
Beispiel #5
0
        static Node1 MakeNode(Country data)
        {
            Node1 node = new Node1(data);

            return(node);
        }
Beispiel #6
0
 public Node1(Country data)
 {
     Data = data;
     Next = null;
 }
Beispiel #7
0
 public Node1()
 {
     Data = default(Country);
     Next = null;
 }