buscar y eliminar datos en una pila c#

Iniciado por enkris, 23 Octubre 2014, 05:31 AM

0 Miembros y 1 Visitante están viendo este tema.

enkris

Buenas, si pudiera alguien ayudarme con un algoritmo de pilas en c# en donde ocurre lo siguiente; tengo un algoritmo con una estructura donde ingreso nombre, edad, código de inscripción en resumen como puedo buscar a aquella persona ingresada por el código de inscripción en una función y otra función en donde pueda eliminar a esta persona de la pila si tiene una edad inferior a 10 por ejemplo. si alguien me puede ayudar pls T_T

DarK_FirefoX

Solo para aclarar. No eres muy claro con lo que estas preguntando. Deberías explicarte un poquito mejor.

Ahora, sobre lo que pude "entender", te quería comentar que en las pilas no puedes eliminar por así decirlo. Tendrias que encontrar lo que estas buscando recorriendo todo lo que hay en la pila y apartir de ahi hacer corrimientos en la pila para "eliminar", lo cual no sería muy eficiente en cuanto a tiempo, por lo tanto no me parece que la pila sea lo más adecuado para este tipo de problema.

Si te explicas mejor te podremos ayudar un poco más. ¿Que tienes hecho?

Eleкtro

Puedes pasar los objetos de la pila a otro tipo de conteneder, vaciar la pila, y por último rellenarla omitiendo el dato que deseas, seria una forma de eliminación.

Pero como ya te han dicho... desde un principio no parece que estés haciendo algo correcto.

Además, no muestras tú código.

Saludos








DarK_FirefoX

Exactamente como dice Eleкtro, esa es otra opción, aunque aqui tendrías que copiar todos los valores a otra estructura, y despues copiarlos casi todos de nuevo. Como bien decimos Eleкtro y yo, hay algo mal con esta estructura para este problema.

¿Muestra código? ¿Tienes que usar pila obligado?

Mi sugerencia: Usa un AVL, el análisis de tiempo en cuanto a la entrada para la operación de eliminación es O(log n)
(n => tamaño de la entrada)
Existen otras estructuras que pueden ser mejor, pero me parece que con la sencillez de tu problema el AVL es algo sencillo de implementar...

Salu2s

Yaldabaot

Hola, existe una clase llamada stack en Visual Studio, puedes utilizarla.

Nunca me contestan -_-