Creates a new node. @param key node key @param id ID value @param pos token position (only relevant for token index) @param par pointer to parent node @param exist flag for reusing existing tree @return pointer of the new node
(final byte[] key, final int id, final int pos, final int par,
final boolean exist)
| 185 | * @return pointer of the new node |
| 186 | */ |
| 187 | private int newNode(final byte[] key, final int id, final int pos, final int par, |
| 188 | final boolean exist) { |
| 189 | |
| 190 | tree.add(-1); // left node |
| 191 | tree.add(-1); // right node |
| 192 | tree.add(par); // parent node |
| 193 | mod.add(false); |
| 194 | keys.add(key); |
| 195 | addNewIds(id, pos); |
| 196 | if(!exist) maps.put(Num.num(keys.size() - 1), ids.size() - 1); |
| 197 | return mod.size() - 1; |
| 198 | } |
| 199 | |
| 200 | /** |
| 201 | * Gets the left child. |