Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace LinkedList
- {
- class Program
- {
- static void Main(string[] args)
- {
- //Тесты
- //1. Добавьте в класс LinkedList метод удаления одного узла по его значению.
- Console.WriteLine("Test #1");
- var nodes = new LinkedList<int>();
- nodes.AddInTail(new Node<int>(1));
- nodes.AddInTail(new Node<int>(2));
- nodes.AddInTail(new Node<int>(3));
- nodes.AddInTail(new Node<int>(4));
- nodes.Remove(2);
- foreach (var node in nodes)
- {
- Console.WriteLine(node);
- }
- Console.WriteLine("____________________________");
- //2. Добавьте в класс LinkedList метод удаления всех узлов по конкретному значению.
- Console.WriteLine("Test #2");
- nodes = new LinkedList<int>();
- nodes.AddInTail(new Node<int>(1));
- nodes.AddInTail(new Node<int>(2));
- nodes.AddInTail(new Node<int>(2));
- nodes.AddInTail(new Node<int>(3));
- nodes.RemoveAll(2);
- foreach (var node in nodes)
- {
- Console.WriteLine(node);
- }
- Console.WriteLine("____________________________");
- //3.Добавьте в класс LinkedList метод очистки всего содержимого(создание пустого списка).
- Console.WriteLine("Test #3");
- nodes = new LinkedList<int>();
- nodes.AddInTail(new Node<int>(1));
- nodes.AddInTail(new Node<int>(2));
- nodes.AddInTail(new Node<int>(3));
- nodes.AddInTail(new Node<int>(4));
- nodes.Clear();
- Console.WriteLine("Кол-во элементов в списке: " + nodes.Count);
- Console.WriteLine("____________________________");
- //4. Добавьте в класс LinkedList метод поиска всех узлов по конкретному значению (возвращается список/массив найденных узлов).
- Console.WriteLine("Test #4");
- nodes = new LinkedList<int>();
- nodes.AddInTail(new Node<int>(1));
- nodes.AddInTail(new Node<int>(2));
- nodes.AddInTail(new Node<int>(2));
- nodes.AddInTail(new Node<int>(3));
- var list = nodes.FindAll(2);
- foreach (var i in list)
- {
- Console.WriteLine(i.Value);
- }
- Console.WriteLine("____________________________");
- //5. Добавьте в класс LinkedList метод вычисления длины списка.
- Console.WriteLine("Test #5");
- nodes = new LinkedList<int>();
- nodes.AddInTail(new Node<int>(1));
- nodes.AddInTail(new Node<int>(2));
- nodes.AddInTail(new Node<int>(3));
- nodes.AddInTail(new Node<int>(4));
- Console.WriteLine("Кол-во элементов в списке: " + nodes.Count);
- Console.WriteLine("____________________________");
- //6. Добавьте в класс LinkedList метод вставки узла после заданного узла.
- Console.WriteLine("Test #6");
- nodes = new LinkedList<int>();
- nodes.AddInTail(new Node<int>(1));
- nodes.AddInTail(new Node<int>(2));
- nodes.AddInTail(new Node<int>(3));
- nodes.AddInTail(new Node<int>(4));
- Console.WriteLine("Список до вставки");
- foreach (var node in nodes)
- {
- Console.WriteLine(node);
- }
- nodes.Insert(new Node<int>(5), 1);
- Console.WriteLine("Список после вставки");
- foreach (var node in nodes)
- {
- Console.WriteLine(node);
- }
- Console.WriteLine("____________________________");
- //7. Напишите функцию, которая получает на вход два связанных списка, состоящие
- //из целых значений, и если их длины равны, возвращает список, каждый элемент
- //которого равен сумме соответствующих элементов входных списков.
- Console.WriteLine("Test #7");
- nodes = new LinkedList<int>();
- nodes.AddInTail(new Node<int>(1));
- nodes.AddInTail(new Node<int>(2));
- nodes.AddInTail(new Node<int>(3));
- nodes.AddInTail(new Node<int>(4));
- var nodes2 = new LinkedList<int>();
- nodes2.AddInTail(new Node<int>(1));
- nodes2.AddInTail(new Node<int>(2));
- nodes2.AddInTail(new Node<int>(3));
- nodes2.AddInTail(new Node<int>(4));
- var nodesSum = LinkedList<int>.LinkedListFusion(nodes, nodes2);
- foreach (var node in nodesSum)
- {
- Console.WriteLine(node);
- }
- Console.WriteLine("____________________________");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement