private int Size(Nodenew parent) { if (parent == null) { return(0); } if (parent.Next != null) { return(1 + Size(parent.Next)); } return(1); }
public bool Remove(char c) { if (head.key == c) { head = head.Next; return(true); } else { return(Remove(ref head.Next, c)); } }
public void Add(char key, int value) { var newNode = new Nodenew(key, value); if (head != null) { Add(ref head, newNode); } if (head == null) { head = newNode; } }
private void Print(Nodenew node) { if (node == null) { return; } Console.Write("[{0}{1}]>", node.key, node.value); //Console.WriteLine(node.key + ":"+node.value); if (node.Next != null) { Print(node.Next); } }
private List <char> Keys(Nodenew parent) { if (parent == null) { return(new List <char>()); } var v = new List <char>() { parent.key }; v.AddRange(Keys(parent.Next)); return(v); }
private int Search(Nodenew nodenew, char key) { if (nodenew == null) { return(-1); } if (nodenew.key == key) { return(nodenew.value); } else { return(Search(nodenew.Next, key)); } }
private bool Remove(ref Nodenew node, char c) { if (node == null) { return(false); } if (node.key == c) { node = node.Next; return(true); } else { return(Remove(ref node.Next, c)); } }
private void Add(ref Nodenew parent, Nodenew child) { //Console.WriteLine("here 1" +parent.ToString()); //Console.WriteLine( "here 2"+child.ToString()); if (parent.key == child.key) { parent.value = child.value; return; } if (parent.Next != null) { Add(ref parent.Next, child); } if (parent.Next == null) { parent.Next = child; return; } }