/// <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; }
private void InitBlock(Trie enclosingInstance) { this.enclosingInstance = enclosingInstance; free = new FREE(enclosingInstance); }
/// <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; }