コード例 #1
0
 private static void AddBothTails(Node <T> node, ZippedSlices zippedSlices, T value)
 {
     node.Children = new ConcurrentDictionary <char, Node <T> >
     {
         { zippedSlices.FirstTail[0], new Node <T>(zippedSlices.FirstTail, node.Values, node.Children) },
         { zippedSlices.SecondTail[0], new Node <T>(zippedSlices.SecondTail, value) }
     };
     node.Values = new HashSet <T>();
     node.Key    = zippedSlices.Head;
 }
コード例 #2
0
        private static void AddFirstTail(Node <T> node, ZippedSlices zippedSlices, T value)
        {
            var leftChild = new Node <T>(zippedSlices.FirstTail, node.Values, node.Children);

            node.Values = new HashSet <T> {
                value
            };
            node.Key      = zippedSlices.Head;
            node.Children = new ConcurrentDictionary <char, Node <T> >
            {
                { zippedSlices.FirstTail[0], leftChild }
            };
        }