Example #1
0
 private int Size(Nodenew parent)
 {
     if (parent == null)
     {
         return(0);
     }
     if (parent.Next != null)
     {
         return(1 + Size(parent.Next));
     }
     return(1);
 }
Example #2
0
 public bool Remove(char c)
 {
     if (head.key == c)
     {
         head = head.Next;
         return(true);
     }
     else
     {
         return(Remove(ref head.Next, c));
     }
 }
Example #3
0
        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;
            }
        }
Example #4
0
 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);
     }
 }
Example #5
0
        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);
        }
Example #6
0
 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));
     }
 }
Example #7
0
 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));
     }
 }
Example #8
0
 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;
     }
 }