Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Pila con Listas enlazadas (problema con apuntadores) (https://www.clubdelphi.com/foros/showthread.php?t=19840)

desve 29-03-2005 09:58:47

Pila con Listas enlazadas (problema con apuntadores)
 
Estoy trabajando en una pila con listas enlazadas y tengo el siguiente problema

declaro de esta forma la estructura

TNodo=^NodoPila;
NodoPila=RECORD
elemento:integer;
enlace:TNodo;
END;

luego declaro

Cima,AUX:^NodoPila;

para los trabajos de insercion y sacar, etc.


El problema radica en que al al momento de insertar
(este es el codigo)

new(AUX);
AUX^.elemento:=n;
AUX^.enlace:=Cima; <----------- me marca error en esta linea
Cima:=AUX;

lanza un comentario diciendo que son imcompatibles, (supongo que por que uno esta declarado como TNodo y otro Por ^NodoPila).
Entonces para corregir eso yo pensaba era declarar de esta manera para que los tipos de datos sean compatibles, pero el compilador me regresa error. (esto lo habia intentado desde el inicio al declarar la pila pero me lanzaba error, aunque insisto que seria la forma logica de declarar)

NodoPila=RECORD
elemento:integer;
enlace:^NodoPila;
END;

El problema es que al asignar ahi me lanza error y no se de que manera corregirlo, Espero que alguien me pueda ayudar.


Gracias de antemano
(Desve).

Lepe 29-03-2005 12:20:05

Código Delphi [-]
var Cima,AUX:TNodo;

Con esta declaración ya no se queja el compilador.

Por cierto, has visto la ayuda sobre TobjectStack? Implemente una pila mediante objetos, sin tener que usar punteros.

un Saludo

desve 30-03-2005 10:07:47

Gracias
 
No, no habia checado ese objeto, gracias por el tip le echare un ojo, de cualquier manera esto es una tarea y asi fue pedida..

-una cola circular con arreglos estatico.

-pila con listas en lazadas ---- dinamico pauntadores y solicitud de memoria.

-cola listas enlazadas ---- dinamico pauntadores y solicitud de memoria.



y estaba atorado en ese punto., gracias


La franja horaria es GMT +2. Ahora son las 18:07:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi