Advertisement
Tellexxii

LinkedList Tests

Aug 30th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.54 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace LinkedList
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             //Тесты
  14.             //1. Добавьте в класс LinkedList метод удаления одного узла по его значению.
  15.             Console.WriteLine("Test #1");
  16.  
  17.             var nodes = new LinkedList<int>();
  18.             nodes.AddInTail(new Node<int>(1));
  19.             nodes.AddInTail(new Node<int>(2));
  20.             nodes.AddInTail(new Node<int>(3));
  21.             nodes.AddInTail(new Node<int>(4));
  22.  
  23.             nodes.Remove(2);
  24.             foreach (var node in nodes)
  25.             {
  26.                 Console.WriteLine(node);
  27.             }
  28.  
  29.             Console.WriteLine("____________________________");
  30.  
  31.             //2. Добавьте в класс LinkedList метод удаления всех узлов по конкретному значению.
  32.             Console.WriteLine("Test #2");
  33.  
  34.             nodes = new LinkedList<int>();
  35.             nodes.AddInTail(new Node<int>(1));
  36.             nodes.AddInTail(new Node<int>(2));
  37.             nodes.AddInTail(new Node<int>(2));
  38.             nodes.AddInTail(new Node<int>(3));
  39.  
  40.             nodes.RemoveAll(2);
  41.             foreach (var node in nodes)
  42.             {
  43.                 Console.WriteLine(node);
  44.             }
  45.  
  46.             Console.WriteLine("____________________________");
  47.  
  48.             //3.Добавьте в класс LinkedList метод очистки всего содержимого(создание пустого списка).
  49.             Console.WriteLine("Test #3");
  50.  
  51.             nodes = new LinkedList<int>();
  52.             nodes.AddInTail(new Node<int>(1));
  53.             nodes.AddInTail(new Node<int>(2));
  54.             nodes.AddInTail(new Node<int>(3));
  55.             nodes.AddInTail(new Node<int>(4));
  56.  
  57.             nodes.Clear();
  58.             Console.WriteLine("Кол-во элементов в списке: " + nodes.Count);
  59.  
  60.             Console.WriteLine("____________________________");
  61.  
  62.             //4. Добавьте в класс LinkedList метод поиска всех узлов по конкретному значению (возвращается список/массив найденных узлов).
  63.             Console.WriteLine("Test #4");
  64.  
  65.             nodes = new LinkedList<int>();
  66.             nodes.AddInTail(new Node<int>(1));
  67.             nodes.AddInTail(new Node<int>(2));
  68.             nodes.AddInTail(new Node<int>(2));
  69.             nodes.AddInTail(new Node<int>(3));
  70.  
  71.             var list = nodes.FindAll(2);
  72.             foreach (var i in list)
  73.             {
  74.                 Console.WriteLine(i.Value);
  75.             }
  76.  
  77.             Console.WriteLine("____________________________");
  78.  
  79.             //5. Добавьте в класс LinkedList метод вычисления длины списка.
  80.             Console.WriteLine("Test #5");
  81.  
  82.             nodes = new LinkedList<int>();
  83.             nodes.AddInTail(new Node<int>(1));
  84.             nodes.AddInTail(new Node<int>(2));
  85.             nodes.AddInTail(new Node<int>(3));
  86.             nodes.AddInTail(new Node<int>(4));
  87.  
  88.             Console.WriteLine("Кол-во элементов в списке: " + nodes.Count);
  89.  
  90.             Console.WriteLine("____________________________");
  91.  
  92.             //6. Добавьте в класс LinkedList метод вставки узла после заданного узла.
  93.             Console.WriteLine("Test #6");
  94.  
  95.             nodes = new LinkedList<int>();
  96.             nodes.AddInTail(new Node<int>(1));
  97.             nodes.AddInTail(new Node<int>(2));
  98.             nodes.AddInTail(new Node<int>(3));
  99.             nodes.AddInTail(new Node<int>(4));
  100.  
  101.             Console.WriteLine("Список до вставки");
  102.             foreach (var node in nodes)
  103.             {
  104.                 Console.WriteLine(node);
  105.             }
  106.  
  107.             nodes.Insert(new Node<int>(5), 1);
  108.  
  109.             Console.WriteLine("Список после вставки");
  110.             foreach (var node in nodes)
  111.             {
  112.                 Console.WriteLine(node);
  113.             }
  114.  
  115.             Console.WriteLine("____________________________");
  116.  
  117.             //7. Напишите функцию, которая получает на вход два связанных списка, состоящие
  118.             //из целых значений, и если их длины равны, возвращает список, каждый элемент
  119.             //которого равен сумме соответствующих элементов входных списков.
  120.             Console.WriteLine("Test #7");
  121.  
  122.             nodes = new LinkedList<int>();
  123.             nodes.AddInTail(new Node<int>(1));
  124.             nodes.AddInTail(new Node<int>(2));
  125.             nodes.AddInTail(new Node<int>(3));
  126.             nodes.AddInTail(new Node<int>(4));
  127.  
  128.             var nodes2 = new LinkedList<int>();
  129.             nodes2.AddInTail(new Node<int>(1));
  130.             nodes2.AddInTail(new Node<int>(2));
  131.             nodes2.AddInTail(new Node<int>(3));
  132.             nodes2.AddInTail(new Node<int>(4));
  133.  
  134.             var nodesSum = LinkedList<int>.LinkedListFusion(nodes, nodes2);
  135.  
  136.             foreach (var node in nodesSum)
  137.             {
  138.                 Console.WriteLine(node);
  139.             }
  140.  
  141.             Console.WriteLine("____________________________");
  142.            
  143.         }
  144.  
  145.  
  146.     }
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement