Perfil
lunes, 18 de febrero de 2013
EStructura de Datos (Pilas)
1.- Recorrido
Definición:
Ya que las pilas son LIFO(Last in - First Out) el Recorrido se hace sacando el ultimo dato que se inserto hasta que no encuentre ningún otro.
Detalle:
Apuntador toma el Top, después ve si la condición cumple para efectuar un Ciclo mientras Apuntador sea diferente de Nulo, si cumple lo que hace es que despliega el contenido de la Pila(Pila[Apuntador]), después Apuntador se le resta 1. Este proceso se repite hasta que Apuntador sea igual Nulo(Cuando llega a este punto la Pila ya fue Recorrida).
Algoritmo:
Recorrido(Pila, Top)
Apuntador ←- Top
Repetir mientras Apuntador ≠ Nulo
Imprimir Pila[Apuntador]
Apuntador ←- Apuntador - 1
Fin del ciclo
Salir
Diagrama:
Push
Definición:
Push es simplemente el método por el cual va agregando un Dato nuevo a la Pila tomando en cuenta la Capacidad Máxima (Max) de almacenar un dato.
Detalle:
Compara en un principio el Top con Max, si la condición no cumple es imposible insertar mas datos a la Pila, de otra forma lo que hace es Incrementar el valor de Top, y copia el valor de Elemento en Pila[Top]. De esta forma el dato ya esta insertado.
Algoritmo:
Push(Pila, Top, Max, Elemento)
Si Top ≠ Max
Top ←- Top + 1
Pila[Top] ←- Elemento
Si no:
Imprimir “Pila Llena”
Salir
Diagrama:
Pop
Definición:
Pop es simplemente el método por el cual va sacando el ultimo Dato de la Pila, basándose únicamente en el Top.
Detalle:
Compara para determinar si la pila esta vacio, de otra forma lo que hace es Imprimir el valor de Pila[Top] (Que es el dato que esta apunto de Eliminar) y enseguida a Top le resta 1, de esta forma el dato ya no existe.
Algoritmo:
Pop(Pila, Top)
Si Top ≠ Nulo
Imprimir Pila[Top]
Top ←- Top - 1
Si no:
Imprimir “Pila Vacía”
Salir
Diagrama:
Búsqueda
Definición:
Este método usa el recorrido para encontrar Elemento y desplegar un mensaje si la búsqueda es exitosa.
Detalle:
El algoritmo compara para determinar si la Pila tiene algún dato, si no simplemente desplegara Lista Vacía y saldrá. De otra manera hará un Recorrido y comparara con cada uno de los Datos de la Pila hasta encontrar el dato que desea buscar. Si lo encuentra desplegara “El Dato fue encontrado” de otra manera “El Dato no se encontró”.
Algoritmo:
Busqueda(Pila, Top, Elemento)
Si Top ≠ Nulo
Apuntador ←- Top
Repetir mientras Apuntador ≠ Nulo
Si Pila[Apuntador] = Elemento
Imprimir “El Dato fue encontrado” y Salir
Apuntador ←- Apuntador - 1
Fin del ciclo
Imprimir “El Dato no se encontró”
Si no:
Imprimir “Pila Vacía”
Salir
Diagrama:
Eliminacion
Definición:
Este método busca un Dato dentro de la pila y lo elimina.
Detalle:
El algoritmo compara para determinar si la Pila tiene algún dato, si no simplemente desplegara Pila Vacía y saldrá. De otra manera hará un Recorrido y comparara con cada uno de los Datos de la Pila hasta encontrar el dato que desea eliminar, mientras hace esto copia cada uno de los datos a un arreglo Temp para cuando encuentre el Dato regresar esos valores a la Pila. Si lo encuentra desplegara “Eliminado el Dato” y le restara 1 a Top, de otra manera “El Dato no encontrado”.
Algoritmo:
Borrar(Pila, Temp, Top, Elemento)
Si Top ≠ Nulo
Apuntador1 ←- Top
Repetir mientras Apuntador1 ≠ Nulo
Si Pila[Apuntador1] = Elemento
Imprimir “Eliminando el Dato…”
Repetir mientras Apuntador2 ≠ Nulo
Pila[Apuntador1]=Temp[Apuntador2]
Fin del ciclo
Top ←- Top - 1 y Salir
Si No:
Temp[Apuntador2] ←- Pila[Apuntador1]
Apuntador1 ←- Apuntador1 - 1
Apuntador2 ←- Apuntador2 + 1
Fin del ciclo
Imprimir “Dato no encontrado”
Si no:
Imprimir “Pila Vacía”
Salir
Diagrama:
Suscribirse a:
Enviar comentarios (Atom)
0 comentarios:
Publicar un comentario