Exemple #1
0
        protected void BuildTrie(string [] strings)
        {
            DynamicTrie dt = new DynamicTrie(strings);

            idx  = new int  [dt.idx.Count];
            next = new int  [dt.list.Count];
            via  = new char [dt.list.Count];

            State curr = (State)dt.list[0];
            int   i    = 0;
            int   j    = 0;

            idx[0] = 0;

            while (j < dt.list.Count)
            {
                State s = (State)dt.list [j];

                next[j] = s.next;
                via[j]  = s.value;

                if (s.id != curr.id)
                {
                    idx[++i] = j;
                    curr     = s;
                }

                j++;
            }

//	    DebugPrint();
        }
Exemple #2
0
	protected void BuildTrie (string [] strings)
	{
	    DynamicTrie dt = new DynamicTrie (strings);

	    idx  = new int  [dt.idx.Count];
	    next = new int  [dt.list.Count];
	    via  = new char [dt.list.Count];

	    State curr = (State) dt.list[0];
	    int i = 0;
	    int j = 0;

	    idx[0] = 0;

	    while (j < dt.list.Count)
	    {
		State s = (State) dt.list [j];

		next[j] = s.next;
		via[j]  = s.value;

		if ( s.id != curr.id )
		{
		    idx[++i] = j;
		    curr = s;
		}

		j++;
	    }

//	    DebugPrint();
	}