fork download
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. public class ProgrammingLanguagesLinkedList
  5. {
  6. public static void Main()
  7. {
  8. Console.WriteLine("Programming Languages LinkedList Demo:");
  9. Console.WriteLine("=====================================");
  10.  
  11. // Create a new LinkedListNode and display its properties
  12. LinkedListNode<string> centerNode = new LinkedListNode<string>("Java");
  13. Console.WriteLine("After creating the 'Java' node:");
  14. DisplayNodeProperties(centerNode);
  15.  
  16. // Create a new LinkedList
  17. LinkedList<string> languageList = new LinkedList<string>();
  18.  
  19. // Add the "Java" node to the list
  20. languageList.AddLast(centerNode);
  21. Console.WriteLine("After adding Java node to the empty LinkedList:");
  22. DisplayNodeProperties(centerNode);
  23.  
  24. // Add nodes before and after the "Java" node
  25. languageList.AddFirst("Python");
  26. languageList.AddLast("C#");
  27. languageList.AddAfter(centerNode, "JavaScript");
  28. languageList.AddBefore(centerNode, "C++");
  29.  
  30. Console.WriteLine("After adding Python, C#, JavaScript, and C++:");
  31. DisplayNodeProperties(centerNode);
  32.  
  33. Console.WriteLine("\nComplete LinkedList traversal (first to last):");
  34. foreach (string language in languageList)
  35. {
  36. Console.WriteLine("Language: " + language);
  37. }
  38.  
  39. Console.WriteLine("\nLinkedList navigation demonstration:");
  40. Console.WriteLine("First language: " + languageList.First.Value);
  41. Console.WriteLine("Last language: " + languageList.Last.Value);
  42. Console.WriteLine("Second language: " + languageList.First.Next.Value);
  43. Console.WriteLine("Second to last language: " + languageList.Last.Previous.Value);
  44.  
  45. // Remove a language and show the effect
  46. languageList.Remove("C++");
  47. Console.WriteLine("\nAfter removing C++:");
  48. DisplayNodeProperties(centerNode);
  49.  
  50. Console.WriteLine("\nFinal LinkedList:");
  51. foreach (string language in languageList)
  52. {
  53. Console.WriteLine("Language: " + language);
  54. }
  55.  
  56. Console.WriteLine("\nTotal languages in LinkedList: " + languageList.Count);
  57. }
  58.  
  59. public static void DisplayNodeProperties(LinkedListNode<string> node)
  60. {
  61. if (node.List == null)
  62. Console.WriteLine(" Node is not linked to any list.");
  63. else
  64. Console.WriteLine(" Node belongs to a linked list with {0} elements.", node.List.Count);
  65.  
  66. if (node.Previous == null)
  67. Console.WriteLine(" Previous node is null.");
  68. else
  69. Console.WriteLine(" Value of previous node: {0}", node.Previous.Value);
  70.  
  71. Console.WriteLine(" Value of current node: {0}", node.Value);
  72.  
  73. if (node.Next == null)
  74. Console.WriteLine(" Next node is null.");
  75. else
  76. Console.WriteLine(" Value of next node: {0}", node.Next.Value);
  77.  
  78. Console.WriteLine();
  79. }
  80. }
Success #stdin #stdout 0.04s 29244KB
stdin
Standard input is empty
stdout
Programming Languages LinkedList Demo:
=====================================
After creating the 'Java' node:
  Node is not linked to any list.
  Previous node is null.
  Value of current node: Java
  Next node is null.

After adding Java node to the empty LinkedList:
  Node belongs to a linked list with 1 elements.
  Previous node is null.
  Value of current node: Java
  Next node is null.

After adding Python, C#, JavaScript, and C++:
  Node belongs to a linked list with 5 elements.
  Value of previous node: C++
  Value of current node: Java
  Value of next node: JavaScript


Complete LinkedList traversal (first to last):
Language: Python
Language: C++
Language: Java
Language: JavaScript
Language: C#

LinkedList navigation demonstration:
First language: Python
Last language: C#
Second language: C++
Second to last language: JavaScript

After removing C++:
  Node belongs to a linked list with 4 elements.
  Value of previous node: Python
  Value of current node: Java
  Value of next node: JavaScript


Final LinkedList:
Language: Python
Language: Java
Language: JavaScript
Language: C#

Total languages in LinkedList: 4