static void PrintSingleLinkedList(SingleLinkedListNode node, string sep, TextWriter textWriter) { while (node != null) { textWriter.Write(node.data); node = node.next; if (node != null) { textWriter.Write(sep); } } }
public void ReverseList(SingleLinkedListNode head, IList <int> result) { if (result == null) { result = new List <int>(); } if (head == null) { return; } ReverseList(head.next, result); result.Add(head.data); }
public void InsertNode(int nodeData) { SingleLinkedListNode node = new SingleLinkedListNode(nodeData); if (this.head == null) { this.head = node; } else { this.tail.next = node; } this.tail = node; }
public SingleLinkedListNode InsertNodeAtHead(SingleLinkedListNode llist, int data) { var item = new SingleLinkedListNode(data); if (llist == null) { llist = item; } else { var tmp = llist; llist = item; llist.next = tmp; } return(llist); }
public SingleLinkedListNode InsertNodeAtPosition(SingleLinkedListNode head, int data, int position) { var cursor = 0; var current = head; var previous = current; while (position != cursor) { cursor++; previous = current; current = current.next; } //handle 0 though previous.next = new SingleLinkedListNode(data); previous.next.next = current; return(head); }
public SingleLinkedList() { this.head = null; this.tail = null; }