miércoles, 1 de octubre de 2014

3.2.3 Aplicaciones

Las operaciones que se presentan en esta aplicación son las siguientes:
OPERACIÓN PUSH
Esta operación sirve para insertar un elemento e en la pila S, lo vamos a escribir como:
push(S,e)
Después de hacer esta operación sucede que:
El elemento en la cima de la pila S ahora es e
LA OPERACIÓN POP
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, usaremos la operación pop escribiéndola como:
v=pop(S);
En donde v es una variable que almacena el valor del elemento que estaba en la cima de S. Hacer esta operación tiene algunas implicaciones:
La variable v debe ser del mismo tipo que los elementos almacenados en la pila.
Solamente se puede retirar un elemento de la pila a la vez.
Antes de la operación, e era el elemento en la cima, ahora ya no lo es más. El apuntador ``cima'' decrece en una unidad.
LA OPERACIÓN STACKEMPTY
Esta operación toma como argumento una estructura del tipo stack (pila) y devuelve un valor booleano, devuelve un true si la pila está vacía y devuelve un false si la pila tiene al menos un elemento.
LA OPERACIÓN STACKTOP
La operación stacktop(S) devuelve el valor del elemento en la cima de la pila S. Para hacer esta operación escribiremos:
v=stacktop(S)
Las implicaciones de usar esta operación son:
Se hace una copia del elemento que está en la cima
En realidad se hacen dos operaciones, primero se hace v=pop(S), luego un push(S,v), porque después de la operación stacktop, la pila S queda sin cambio alguno.
Para ver aplicaciones con pilas, en pseudocódigo queda de la siguiente forma:
// Inserción en Pilas de forma tradicional

principal()
{
  // declaracion de variables
   top = 0; Pila[10]=0; Dato=0;N=10;

   do
   {
      pedir " de el numero a insertar :";
      Leer Dato;
      // Verificar si hay lugar en pila
        si(top >= N) entonces
         { Desplegar " Pila llena";}
        sino
           {     pila[top]=Dato;
                 top = top + 1;
            }
      preguntar " Desea otra insercion en pila :",
      Leer otro;
    }while(otro != "No");

}

No hay comentarios:

Publicar un comentario