Pascal/Turbo Pascal - arboles y archivos

 
Vista:

arboles y archivos

Publicado por Maricel (4 intervenciones) el 30/11/2004 01:52:05
Necesito el proceso que me permite sacar registro de un archivo random y colocarlos en un arbol de busqueda binaria.
Agradezco me asesoren al respecto.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:arboles y archivos

Publicado por M@rceloL (152 intervenciones) el 30/11/2004 22:02:02
Bueno, suponiendo:

type tArbol=^tNodo;
tNodo=record
valor:integer;
Izq,Der:tArbol;
end;

y que el archivo es de integers...

procedure Insertar(var Arbol:tArbol; valor:integer);
begin
if (Arbol=nil) then
begin
new(Arbol);
Arbol^.Izq:=nil;
Arbol^.Der:=nil;
Arbol^.Dato:=valor;
end
else if (Arbol^.Valor<=valor) then
Insertar(Arbol^.Der,valor)
else
Insertar(Arbol^.Izq,valor);
end;

var varArbol:tArbol;

procedure Leer;
var a:file of integer;
val:integer;
begin
varArbol:=nil;
assign(a,'datos.bin');reset(a);
wile not eof(a) do
begin
read(a,val);
Insertar(varArbol,val);
end;
close(a);
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:arboles y archivos

Publicado por Maricel (4 intervenciones) el 01/12/2004 13:59:13
Muchas gracias M@rceloL!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

sigo...RE:arboles y archivos

Publicado por Maricel (4 intervenciones) el 01/12/2004 15:42:38
M@rceloL o quien me pueda ayudar:
si los datos del archivo que tengo que pasar al arbol fueran string y ademas tengo que pasar el numero de registro en el que se encontraban los datos.., para despues consultar el arbol y con el numero de registro sacar los datos del archivo y armar un listado ordenado.... es mucho pedir?... Al menos necesito una pista.
GRACIAS!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:sigo...RE:arboles y archivos

Publicado por M@rceloL (152 intervenciones) el 02/12/2004 01:02:39
Bueno, el tipo de dato del nodo del arbol sería:

type tArbol=^tNodo;
tNodo=record
Palabra:string;
NroRegistro:integer;
Ant,Sig:tArbol;
end;

Y el cargar recibiría

procedure Insertar(var Arbol:tArbol;Pal:string;NroR:integer);

se lo pasarías:

Insertar(Arbol,DatoLeido,FilePos(a));

donde a es la variable que usás para leer (a la que le hiciste el assign).

Pucha, ahora me entró la duda si era FilePos o Seek, fijate, uno de los dos es.

¿Se entiende?

Por cierto, para posicionarse en el archivo cuando estés lleyendo el arbol, se usa Seek(archivo,posición).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:sigo...RE:arboles y archivos

Publicado por Maricel (4 intervenciones) el 02/12/2004 13:34:51
M@rceloL me estas salvando las papas!!! Te sigo preguntando si no te molesta... sino todo bien, hata ahora me re ayudaste.
Despues d eeso tngo que recorrer el arbol y con cada nº de registro saltar al archivo e imprimir el contenido... sabras como se hace eso??
Mil Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar