public static void Main()
node.next = new Node(12);
node.next.next = new Node(1);
node.next.next.next = new Node(10);
node.next.next.next.next = new Node(9);
node.next.next.next.next.next = new Node(8);
Node newHeader = InsertionSort(node);
private static Node InsertionSort(Node node)
Node sortedHeader = null;
Node next = current.next;
sortedHeader = InsertedHeader(sortedHeader, current);
private static Node InsertedHeader(Node sortedHeader, Node newNode)
if(sortedHeader == null || sortedHeader.key > newNode.key)
newNode.next = sortedHeader;
Node current = sortedHeader;
while(current.next != null && current.next.key < newNode.key)
newNode.next = current.next;
private static void Print(Node node)
Console.Write($"{current.key} ");