Segundo Parcial 2017 - Problema 1

Segundo Parcial 2017 - Problema 1

de Nicolas Brignoni Dardano -
Número de respuestas: 0

Buenas, estaba viendo el segundo parcial de 2017 y tengo algunas dudas del primer ejercicio.

En el mismo se pide que se haga la especificación e implementación de un TAD T que se comporta parecido a una Pila.

Lo que sucede es que la estructura puede contener hasta M elementos pero no hay ninguna restricción en la inserción (precondiciones de estaLlena o algo del estilo). Creo que podría ser medio ambiguo eso de "siempre se pueden agregar elementos pero solo los últimos M (a lo sumo) se consideran"

En la solución hace un cabezal con puntero al inicio y al final de una lista, insertando al final y eliminando al principio. Eliminar al principio queda cómodo para eliminar los elementos mas antiguos en caso de pasarse de M elementos. Lo que sucede es que para eliminar o "desapilar" siguiendo la politica LIFO hay que recorrer lo que da como resultado que la función sea O(n). 

La duda en cuestión es que mi intención era, dada como esta plantada la letra, insertar e insertar no importa que me pase de M elemento. Esto me facilita la política de la Pila manteniendo un solo puntero al inicio eliminando e insertando ahí mismo.

Luego la liberación de la estructura se encargara de eliminarlos a todos.

O también se podría insertar y dejar que la función desapilar elimine el elemento mas reciente en la estructura y si la cantidad es mayor a M elimine los cantidad - M elementos mas antiguos.

Estas formas de encararlo están bien, la que mas me genera duda es la de insertar indiscriminadamente por el tema de la memoria.

Saludos

Nicolas.