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).