elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Funcion clonar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funcion clonar  (Leído 6,610 veces)
rvilla777

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Funcion clonar
« en: 2 Mayo 2010, 19:21 pm »

Hola tengo una duda sobre pilas dinamicas, debo crear un funcion clonar para una pila, pero no tengo idea como se puede realizar dicha funcion?, me orientan ? gracias.


En línea

biribau

Desconectado Desconectado

Mensajes: 181


Ver Perfil
Re: Funcion clonar
« Respuesta #1 en: 2 Mayo 2010, 20:35 pm »

Una implementación muy sencilla, pero poco astuta(naive, ingenua) es sacar cada elemento, y pushearlo en otra pila, así le darás la vuelta a la pila.
Después sacas otra vez cada elemento de la nueva pila y pusheas el elemento en 2 pilas nuevas. Supongo que te refieres a pilas LIFO, con FIFO funcionaría pero podría eliminarse el primer bucle, o sea, tal como está vale para ambas.
Código:
PILA pila_auxiliar = PILA();
PILA pila_copia = PILA();
while(!pila.esVacia()) {
      void *elemento = pila.pop();
      pila_auxiliar.push(elemento);
}
while(!pila_auxiliar.esVacia()) {
      void *elemento = pila_auxiliar.pop();
      pila.push(elemento);
      pila_copia.push(elemento);
}


En línea

Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: Funcion clonar
« Respuesta #2 en: 2 Mayo 2010, 21:34 pm »

No sería mejor utilizar un vector para guardar los datos de la pila que se quiere clonar y luego rellenar la nueva pila con la info del vector pero en el orden inverso en que se fue almacenando ?
En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
biribau

Desconectado Desconectado

Mensajes: 181


Ver Perfil
Re: Funcion clonar
« Respuesta #3 en: 2 Mayo 2010, 21:37 pm »

Bueno, más o menos es lo mismo, como no dijo nada de las operaciones de su pila, planteé una solución con el minimo de operaciones que una pila tiene para poder llamarse pila: push, pop, y constructor. Sólo que el vector que tú usarías es mi pila auxiliar
En línea

Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: Funcion clonar
« Respuesta #4 en: 2 Mayo 2010, 21:40 pm »

Bueno , como tú mismo dijiste , utilizar una pila auxiliar es una manera "poco astuta" de hacerlo ...! ::)
En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines