Se usa la pila para la operación de deshacer / rehacer del navegador :
Cada navegador web tiene un botón Atrás. A medida que navegamos de una página web a otra página web, esas páginas se colocan en una pila (en realidad, son las URL las que van en la pila). La página actual que estamos viendo está en la parte superior y la primera página que miramos está en la base. Si hacemos clic en el botón Atrás, comenzamos a movernos en orden inverso a través de las páginas.
Otros usos de las pilas:
- Cómo multiplicar elementos de matriz sin usar bucle
- ¿Cuáles son las ventajas y desventajas de los enfoques de espera ocupada y sueño y vigilia para la exclusión mutua con respecto al kernel de Linux?
- Cómo comprar un algoritmo de creación de mercado para acciones
- ¿Cuáles son las ventajas de la agrupación de K-Means?
- ¿Cuál sería el algoritmo para encontrar subárboles duplicados en un árbol binario?
- Un mecanismo de “deshacer” en editores de texto; Esta operación se realiza manteniendo todos los cambios de texto en una pila.
- Deshacer / rehacer pilas en Excel o Word.
Editar 1:
Para las funciones de deshacer / rehacer, tomemos 2 pilas. Una pila para “deshacer”, es decir, ir hacia atrás a la página en la que estábamos y otra sería para “deshacer”, es decir, avanzar.
Algo:
- Vamos a usar pilas, pila trasera y pila delantera.
- Cuando la pila está vacía, deshabilite el botón.
- Cuando naveguemos a la nueva Url, presione url en Back Stack. Clear Forward Stack, este es el paso complicado en el caso de Linked List o cualquier otra implementación.
- Cuando presiona el botón Atrás, saque la URL superior de la Pila de Atrás, empújela hacia la Pila de Adelante.
- Cuando presiona el botón de avance, levante la URL superior de la pila de avance y empújela a la pila de retroceso.
Pseudocódigo:
función moveBackward (deshacer, rehacer)
si deshacer no está vacío, entonces
Empuje la página actual en la pila de rehacer
Abre la pila de deshacer y ve a esa página
Terminara si
Función final
función moveForward (deshacer, rehacer)
si rehacer no está vacío, entonces
Empuje la página actual en la pila de deshacer
Abre la pila de rehacer y ve a esa página
Terminara si
Función final
Edición 2:
¿Dónde se usa stack / queue en el navegador web? El | Práctica | GeeksforGeeks