示例#1
0
        /// <summary> Constructor.</summary>
        /// <param name="buf_size">- the maximum number of trie nodes
        /// </param>
        public Trie(int buf_size)
        {
            search_idx = new int[256];
            search_key = new char[256];
            search_end = 0;

            trie_buf = new TNODE[buf_size];
            for (int i = 0; i < buf_size; i++)
            {
                trie_buf[i] = new TNODE(this);
            }

            free_head = trie_buf[FREE_NODE].free;
            node_head = trie_buf[FREE_NODE];

            node_head.key        = (char)(0);
            node_head.child_size = 0;
            node_head.info_list  = new LinkedList <INFO>();
            node_head.child_idx  = 0;

            free_head.size     = 0;
            free_head.next_idx = 1;

            // the node number 0 is not used
            trie_buf[1].free.size     = buf_size - 1;
            trie_buf[1].free.next_idx = FREE_NODE;
        }
示例#2
0
 private void InitBlock(Trie enclosingInstance)
 {
     this.enclosingInstance = enclosingInstance;
     free = new FREE(enclosingInstance);
 }
示例#3
0
        /// <summary> Constructor.</summary>
        /// <param name="buf_size">- the maximum number of trie nodes
        /// </param>
        public Trie(int buf_size)
        {
            search_idx = new int[256];
            search_key = new char[256];
            search_end = 0;

            trie_buf = new TNODE[buf_size];
            for (int i = 0; i < buf_size; i++)
            {
                trie_buf[i] = new TNODE(this);
            }

            free_head = trie_buf[FREE_NODE].free;
            node_head = trie_buf[FREE_NODE];

            node_head.key = (char) (0);
            node_head.child_size = 0;
            node_head.info_list = new LinkedList < INFO >();
            node_head.child_idx = 0;

            free_head.size = 0;
            free_head.next_idx = 1;

            // the node number 0 is not used
            trie_buf[1].free.size = buf_size - 1;
            trie_buf[1].free.next_idx = FREE_NODE;
        }
示例#4
0
 private void  InitBlock(Trie enclosingInstance)
 {
     this.enclosingInstance = enclosingInstance;
     free = new FREE(enclosingInstance);
 }