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); }
public void Print() { Node1 curNode = this; while (curNode != null) { curNode.Data.Print(); curNode = curNode.Next; } }
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(); } }
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); }
static Node1 MakeNode(Country data) { Node1 node = new Node1(data); return(node); }
public Node1(Country data) { Data = data; Next = null; }
public Node1() { Data = default(Country); Next = null; }