La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Pila1UVM Pilas. Pila2UVM Pila3UVM 2.1 Objetivos El estudiante manejará el tad Pila contigua.

Presentaciones similares


Presentación del tema: "Pila1UVM Pilas. Pila2UVM Pila3UVM 2.1 Objetivos El estudiante manejará el tad Pila contigua."— Transcripción de la presentación:

1 Pila1UVM Pilas

2 Pila2UVM

3 Pila3UVM 2.1 Objetivos El estudiante manejará el tad Pila contigua.

4 Pila4UVM 2.2 Temas a Cubrir Definición Operaciones sobre Pilas Apilar (push) Desapilar (pop) Cima (top) Vacía? Implementación de Pilas

5 Pila5UVM 2.3 Definición Una pila (stack en inglés) es una estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos.

6 Pila6UVM 2.4 Operaciones sobre Pilas Apilar (push) Desapilar (pop) Cima (top) Vacía?

7 Pila7UVM 2.4.1 Apilar (push) Esta operación sirve para insertar un elemento e en la pila S push(S,e)

8 Pila8UVM 2.4.2 Desapilar (pop) Se usa para retirar un elemento de la pila S y asignarlo a una variable del mismo tipo que el tipo de los elementos de la pila v=pop(S);

9 Pila9UVM 2.4.3 Cima (top) La operación top(S) devuelve el valor del elemento en la cima de la pila S. v=top(S)

10 Pila10UVM 2.4.4 Vacía? Toma como argumento una estructura del tipo stack (pila) y devuelve un valor booleano: true si la pila está vacía o false si la pila tiene al menos un elemento

11 Pila11UVM 4 4 1 4 1 1 4 1 4 1 4 4 1 push(4) push(1) pop() push(4) pop()

12 Pila12UVM 2.4.5 Ejemplo 1 Navegador Web Se almacenan los sitios previamente visitados Cuando el usuario quiere regresar (presiona el botón de retroceso), simplemente se extrae la última dirección (pop) de la pila de sitios visitados. Editores de texto Los cambios efectuados se almacenan en una pila Usualmente implementada como arreglo Usuario puede deshacer los cambios mediante la operación “undo”, la cual extraer el estado del texto antes del último cambio realizado.

13 Pila13UVM 2.4.5 Ejemplo 2 Una de las condiciones para que sea una expresión aritmética correcta en que tengas sus paréntesis balanceados (deseamos saber si el número de paréntesis que se abren es el mismo número de paréntesis que cierran) ((5+6)*4)/(17+9)

14 Pila14UVM 2.5 Implementación de Pilas #define MAX 100 struct stack { int item[MAX]; int top; }; struct stack S;

15 Pila15UVM 2.5.1 Push void push(struct stack *S, int e){ S->top++; S->item[S->top]=e; }

16 Pila16UVM 2.5.2 Pop int pop(struct stack *S){ int valReturn; valReturn=S->item[S->top]; S->top--; return valReturn; }

17 Pila17UVM 2.5.3 Top

18 Pila18UVM 2.5.3 Vacía?

19 Pila19UVM Tarea # 2 (entrega 3 marzo 2009) Escriba un programa en C que solicite una expresión aritmética que use varios paréntesis y que, por medio de un stack (usando push, pop y vacía?), verifique si la expresión ttiene el mismo número de paréntesis abiertos que cerrados.


Descargar ppt "Pila1UVM Pilas. Pila2UVM Pila3UVM 2.1 Objetivos El estudiante manejará el tad Pila contigua."

Presentaciones similares


Anuncios Google