Pregunta sobre pila

22/07/2006 - 01:01 por DotNeteer | Informe spam
Les agradeceria su ayuda gente
Tengo una pila
public class pila
{
nodo cima;
public pila()
{
cima = null;
}

public bool pilaVacia()
{
return (cima == null);
}

public void push(DatoPila listTiempo)
{
nodo nuevo = new nodo(listTiempo);
if(!pilaVacia())
{
nuevo.anterior = cima;
cima.siguiente = nuevo;
}
cima = nuevo;
}//push insertar


public DatoPila verCima()
{
DatoPila resultado = null;
if(!pilaVacia())
resultado = cima.dato;

return resultado;
}

public DatoPila pop()
{
DatoPila d;
if(cima.anterior == null)
{
d = cima.dato;
cima = null;
}
else
{
d = cima.dato;
cima = cima.anterior;
cima.siguiente.anterior = null;
cima.siguiente = null;
}
return d;
}//pop eliminar

public void eliminarPila()
{
DatoPila aux;
while(!pilaVacia())
aux = pop();
}
}
Lo que deseo hacer es poner limite a la pila, es decir
que solo se pueda hacer digamos 12 pops y 12 push,
en si que digamos que ya tengo 12 elementos en la pila, y hago un push
entonces el elemento que meti al inicio se debe eliminar y meter el nuevo
elemento
Gracias por su ayuda

Preguntas similare

Leer las respuestas

#1 Aura
22/07/2006 - 15:50 | Informe spam
Eso parece una tarea de la universidad:)

Yo no conozco mucho de C# todavia pero lo que creo que debes tener una
propiedad estatica integer en la clase que en el push de agregue uno en el
pop te lo reste. Cuando se pase en el push solo recorre los elementos hasta
el primero y borralo antes de insertar el nuevo.


"DotNeteer" escribió en el mensaje
news:
Les agradeceria su ayuda gente
Tengo una pila
public class pila
{
nodo cima;
public pila()
{
cima = null;
}

public bool pilaVacia()
{
return (cima == null);
}

public void push(DatoPila listTiempo)
{
nodo nuevo = new nodo(listTiempo);
if(!pilaVacia())
{
nuevo.anterior = cima;
cima.siguiente = nuevo;
}
cima = nuevo;
}//push insertar


public DatoPila verCima()
{
DatoPila resultado = null;
if(!pilaVacia())
resultado = cima.dato;

return resultado;
}

public DatoPila pop()
{
DatoPila d;
if(cima.anterior == null)
{
d = cima.dato;
cima = null;
}
else
{
d = cima.dato;
cima = cima.anterior;
cima.siguiente.anterior = null;
cima.siguiente = null;
}
return d;
}//pop eliminar

public void eliminarPila()
{
DatoPila aux;
while(!pilaVacia())
aux = pop();
}
}
Lo que deseo hacer es poner limite a la pila, es decir
que solo se pueda hacer digamos 12 pops y 12 push,
en si que digamos que ya tengo 12 elementos en la pila, y hago un push
entonces el elemento que meti al inicio se debe eliminar y meter el nuevo
elemento
Gracias por su ayuda
Respuesta Responder a este mensaje
#2 DotNeteer
28/07/2006 - 21:07 | Informe spam
mUCHAS GRACIAS POR TU TIEMPO VOY A INTENTARLO

"Aura" wrote:

Eso parece una tarea de la universidad:)

Yo no conozco mucho de C# todavia pero lo que creo que debes tener una
propiedad estatica integer en la clase que en el push de agregue uno en el
pop te lo reste. Cuando se pase en el push solo recorre los elementos hasta
el primero y borralo antes de insertar el nuevo.


"DotNeteer" escribió en el mensaje
news:
> Les agradeceria su ayuda gente
> Tengo una pila
> public class pila
> {
> nodo cima;
> public pila()
> {
> cima = null;
> }
>
> public bool pilaVacia()
> {
> return (cima == null);
> }
>
> public void push(DatoPila listTiempo)
> {
> nodo nuevo = new nodo(listTiempo);
> if(!pilaVacia())
> {
> nuevo.anterior = cima;
> cima.siguiente = nuevo;
> }
> cima = nuevo;
> }//push insertar
>
>
> public DatoPila verCima()
> {
> DatoPila resultado = null;
> if(!pilaVacia())
> resultado = cima.dato;
>
> return resultado;
> }
>
> public DatoPila pop()
> {
> DatoPila d;
> if(cima.anterior == null)
> {
> d = cima.dato;
> cima = null;
> }
> else
> {
> d = cima.dato;
> cima = cima.anterior;
> cima.siguiente.anterior = null;
> cima.siguiente = null;
> }
> return d;
> }//pop eliminar
>
> public void eliminarPila()
> {
> DatoPila aux;
> while(!pilaVacia())
> aux = pop();
> }
> }
> Lo que deseo hacer es poner limite a la pila, es decir
> que solo se pueda hacer digamos 12 pops y 12 push,
> en si que digamos que ya tengo 12 elementos en la pila, y hago un push
> entonces el elemento que meti al inicio se debe eliminar y meter el nuevo
> elemento
> Gracias por su ayuda



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida