public void Travel(TravelAction action, object parameter) { if (action == null) { throw new Exception(); } RecursiveTravel(Head, action, parameter); }
private void RecursiveTravel(Node node, TravelAction action, object parameter) { if (node != null) { action(node, parameter); if (node.LChild != null) { RecursiveTravel(node.LChild, action, parameter); } if (node.RChild != null) { RecursiveTravel(node.RChild, action, parameter); } } }