public void AddFirst(T data) { if (Count == 0) { Head = new Node <T>(data); } else { Node <T> Temp = new Node <T>(data); Temp.setChild(Head); Head = Temp; } Count++; }
public void Reverse() { Node <T> prev = null; Node <T> current = Head; Node <T> next; while (current != null) { next = current.getChild(); current.setChild(prev); prev = current; current = next; } Head = prev; }
private Node <T> ReverseRecursiveMethod(Node <T> startingNode) { if (startingNode == null) { return(null); } if (startingNode.getChild() == null) { return(startingNode); } Node <T> rest = startingNode.getChild(); startingNode.setChild(null); Node <T> reverseRest = ReverseRecursiveMethod(rest); rest.setChild(startingNode); return(reverseRest); }