template<template< typename > class NodeType, typename Key, class Compare>
class Aleph::Gen_Avl_Tree< NodeType, Key, Compare >
Árbol binario de búsqueda AVL.
Un árbol binario de búsqueda AVL es un árbol binario de búsqueda cuya altura está acotada a y sus operaciones de modificación acotadas en tiempo por nodos inspeccionados.
Esta clase es genérica en el sentido de que maneja nodos con o sin destructor virtual. No está destinada a usarse normalmente. En su lugar, use las clases derivadas Avl_Tree o Avl_Tree_Vtl.
- Parámetros
-
NodeType | el tipo de nodo entre AvlNode y AvlNodeVtl (no están documentados). |
Key | el tipo de clave que albergan los nodos del árbol. |
Compare | clase de comparación entre las claves. |
- Ver también
- Avl_Tree Avl_Tree_Vtl
template<template< typename > class NodeType, typename Key, class Compare>
Busca la clave de p en el árbol avl o lo inserta en caso de no encontrarse.
search_or_insert(p) busca en el árbol avl un nodo cuya clave sea KEY(p)
. Si la clave se encuentra, entonces se rerona un puntero al nodo que la alberga. De lo contrario se inserta p en el árbol binario de búsqueda this.
- Parámetros
-
[in] | p | el nodo a buscar o insertar. |
- Devuelve
- puntero al nodo insertado si la clave de p no está contenida dentro del árbol; De lo contrario, se retorna un puntero al nodo dentro del árbol que contiene a
KEY(p)
.