3.3.1. Operación de inserción en un AVL.
function Altura (p: Arbol_avl): integer;
procedure Insertar (x: Tipo_elemento; var A: Arbol_avl);
else if x < A^.elemento then begin
if Altura(A^.izq)-Altura(A^.der)=2 then
if x < A^.izq^.elemento then
Rotar_simple_izq (A) { CASO II }
Rotar_doble_izq (A) { CASO ID }
A^.altura:= 1+ max (Altura (A^.izq),
else if x > A^.elemento then begin
{ Caso simétrico para el subárbol derecho }
end; { Si x=A^.elemento, no hacer nada }