Hola tengo que construir un arbol a paritr de una lista (la lista ya viene dada), y que dicho arbol almacene una lista, dado una persona tengo que guardar las compras que hizo. ejemplo la persona 1 compro huevos pan leche, la persona 2 compro carne y mermelada. la informacion esta desordenada, la persona 1 puede volver y comprar aceite.
EL arbol tiene quetener le codigo de persona y la lista de lo que compro. Mi problema en si es como insertar elementos a la lista del arbol, dejo el proceso mas abajo
type
cad=strign[30];
cliente = record
codigo: integer;
compra: cad;
end;
// Lista de compra de clientes
lista = nodoL;
nodoL = record
dato: cliente;
sig: lista;
end;
lista2=nodo2; //lista para los produtos comprados
nodo2=record
dato:cad;
sig:lista2;
end;
contenido=record //dato a guardar en el arbol
nrocliente:integer;
cod:lista2;
end;
arbol = nodoArbol;
nodoArbol = record
dato: contenido;
HI: arbol;
HD: arbol;
end;
procedure insertar ( var a:arbol; c:cliente; var l2:lista2);
begin
if (a=nil) then
begin
new(a);
a.dato.nrocliente:=c.codigo;
a.dato.cod:=l2;
a.HI:=nil;
a.HD:=nil;
end
else
if (a.dato.nrocliente > c.codigo) then
insertar(a.HI,c,l2)
else
if (a.dato.nrocliente < c.codigo) then
insertar(a.HD,c,l2)
else
if ( a.dato.nrocliente = c.codigo) then
agregarAdelante2 (l2, c.cad) //proceso agregar a una lista
end;