Ingenieria de Sistemas
Las Pilas y las Colas, como tal, no existen en los lenguajes de programación, sino que se pueden implementar mediante el uso de estructuras estáticas ó dinámicas. Se caracterizan porque las operaciones de inserción y cancelación están restringidas por la estructura utilizada para resolver un ejercicio. En una pila se inserta y se cancela por un mismo extremo, unejemplo de una pila puede ser la forma como se organizan los platos en un bufet (El plato que se coloca de ultimo en la pila es el primero que se saca). En una cola se inserta por un extremo y se cancela por el extremo opuesto, un ejemplo de una cola, puede ser una Fila de un banco donde los clientes se ubican a medida que van llegando y salen de la fila en el mismo orden que ingresan, esdecir; los primeros en entrar en la fila son los primeros en salir.
Inicialmente se van a representar las Pilas y las Colas mediante arreglos unidimensionales
PILAS
Definición
La pila es un tipo de estructura de datos que almacena un conjunto de elementos que se pueden acceder por un solo extremo, generalmente se conoce como el tope o cima.
Para poder utilizar una pila es necesarioestablecer su nombre, el tamaño y un indicador que muestra la posición del último elemento incluido.
Se usará la siguiente notación:
TampilaTope
Juan
José
Abel
AJuan Flor
pila : nombre de la pila :
tope : Indica la posición del último elemento incluido
tam: Indica el tamaño de la pila
Una pila se encuentra vacía si el tope esta en cero (tope=0).
Sobre las pilas se puedenrealizar diferentes operaciones como incluir, eliminar, búsqueda y otras.
Operaciones básicos del uso de las PILAS
Incluir un elemento en una pila:
Para incluir un elemento en una pila representada por medio de un vector, se verifica si hay espacio y si es así, se incrementa el tope en uno y en esta posición se incluye el elemento. Cuando la pila está llena no se puede insertar.
SUBInpila(pila,tope, tam, elem)
Si(tope < tam) entonces
topetope+1 pila[tope] elem
Sino
Esc “Pila llena”
Fin - si
Fin-SUB
Cancelar un elemento en una pila:
Para cancelar un elemento en una pila representada por medio de un vector, se comprueba que no esté vacía y se elimina el elemento del tope.El valor eliminado se regresa en la variable llamada elem.
SUBCanpila (pila, tope, tam,elem)
Si(tope=0)
Esc “Pila vacía”
Sino
elempila[tope]
topetope-1
Fin - si
Fin-SUB
Ejercicios resueltos
Eliminar de una pila representada por medio de un vector todas las ocurrencias del elementoelem.
6
4
2
1
Pila original Resultado de la operación
8
8
6
8
4
8
2
1
SUBEliminaPila (pila, tope, tam,elem)
tope10
MQ (tope<>0)
Canpila (pila, tope, tam elemp)
Si (elemp<>elem)
Inpila (pila1, tope1,tam,elemp)
Fin - si
Fin - MQ
MQ (tope1<>0)
Canpila (pila1, tope1, tam,elemp)
Inpila (pila, tope, tam,elemp)
Fin - MQ
Fin-SUB
Intercambiar el orden del elemento que está en el tope por el primer elemento de la pila, y el primer elemento ponerlo en el tope.
Ejemplo:
Elem 1
Elem 7
Elem 6Elem 5
Elem 4
Elem 3
Elem 2
Elem n
Pila original Resultado de la operacionElem n
Elem 7
Elem 6
Elem 5
Elem 4
Elem 3
Elem 2
Elem 1
SUBInterCambio (pila,tam,tope)
tope10
Canpila (pila, tope, tam,ultimo)
MQ (tope<>1)
Canpila (pila, tope, tam,elemp)...
Regístrate para leer el documento completo.