using System.Collections.Generic;
public static void Main()
root = InsertAtEnd(root, 10);
root = InsertAtEnd(root, 11);
public static Node GetNodes()
for(var i=1; i < 10; i++)
Node newNode = new Node();
public static void Traversing(Node root)
Node tempRoot = root.Next;
Console.Write(root.Data + " ");
Console.Write(tempRoot.Data + " ");
tempRoot = tempRoot.Next;
public static void TraversingReverse(Node root)
Stack<Node> stacks = new Stack<Node>();
Node tempRoot = root.Next;
tempRoot = tempRoot.Next;
Console.Write(stacks.Pop().Data + " ");
public static Node InsertAtBegin(Node root, int data)
Node newNode = new Node();
newNode.Next = root.Next;
public static Node InsertAtEnd(Node root, int data)
Node newNode = new Node();
newNode.Next = root.Next;
int tempData = root.Data;
root.Data = newNode.Data;
public int Data { get; set; }
public Node Next {get; set;}