0% encontró este documento útil (0 votos)
37 vistas4 páginas

TDA Pila en Java

Una pila es una estructura de datos LIFO que permite almacenar y gestionar elementos, accediendo solo al último objeto apilado. En Java, se pueden implementar pilas con métodos como push, pop, peek y search, y se ejemplifica su uso en la gestión de llamadas en una central telefónica. Al liberar un operador, se atiende la última llamada que entró, ilustrando el comportamiento de la pila.

Cargado por

relajado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
37 vistas4 páginas

TDA Pila en Java

Una pila es una estructura de datos LIFO que permite almacenar y gestionar elementos, accediendo solo al último objeto apilado. En Java, se pueden implementar pilas con métodos como push, pop, peek y search, y se ejemplifica su uso en la gestión de llamadas en una central telefónica. Al liberar un operador, se atiende la última llamada que entró, ilustrando el comportamiento de la pila.

Cargado por

relajado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

TDA Pila en Java

Una pila es una versión restringida de una lista. En todo momento sólo se tiene acceso a la parte superior de la pila, es
decir, al último objeto apilado. Por esta razón, a una pila se le conoce como una estructura de datos
LIFO(Last In First Out).

Una pila al ser una lista puede almacenar en el campo de información cualquier tipo de valor (int, char, float, vector de
caracteres, un objeto, etc), por analogía con objetos cotidianos, una operación apilar(push) equivaldría a colocar un plato
sobre una pila de platos, y una operación retirar(pop) a quitarlo. En palabras sencillas es un lugar donde se almacenan
datos.
Leamos un par de ejemplos simples de pila en Java:
Pila programada sin usar la clase Stack.
Métodos:
empty(): Regresa valor booleano true si la pila se encuentra vacía.
push(item) : Introduce el objeto dentro de la pila.
pop(): Remueve el objeto del tope de la pila
peek(): Muestra el objeto del tope de la pila sin extraerlo.
search(item): Regresa un entero con la posición del objeto buscado o regresa un -1 si no se encuentra el objeto.

Gestión de Llamadas en un Central Telefónica (Último en Entrar, Primero en Salir)


Problema: Una central telefónica recibe llamadas y las pone en una cola de espera si los operadores están ocupados.
Cuando un operador se libera, atiende la última llamada que entró a la cola.
Implementación con Pila:
 Una pila para representar las llamadas en espera.

Ejemplo de Flujo y Salida por Pantalla:


--- Central Telefónica ---

Llamada entrante: Cliente A (Problema de conexión)


Pila de llamadas en espera: [Cliente A]

Llamada entrante: Cliente B (Consulta de factura)


Pila de llamadas en espera: [Cliente A, Cliente B]

Llamada entrante: Cliente C (Solicitud de alta)


Pila de llamadas en espera: [Cliente A, Cliente B, Cliente C]

---
Operador libre: Atendiendo la última llamada (LIFO)
Atendiendo a: Cliente C (Solicitud de alta)
Pila de llamadas en espera: [Cliente A, Cliente B]

---
Operador libre: Atendiendo la última llamada (LIFO)
Atendiendo a: Cliente B (Consulta de factura)
Pila de llamadas en espera: [Cliente A]

---
Llamada entrante: Cliente D (Soporte técnico)
Pila de llamadas en espera: [Cliente A, Cliente D]

---
Operador libre: Atendiendo la última llamada (LIFO)
Atendiendo a: Cliente D (Soporte técnico)
Pila de llamadas en espera: [Cliente A]

---
Operador libre: Atendiendo la última llamada (LIFO)
Atendiendo a: Cliente A (Problema de conexión)
Pila de llamadas en espera: [ ]
---
Operador libre: No hay llamadas en espera.

También podría gustarte