Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACION EN LENGUAJE C
PILAS Y COLAS
EN LENGUAJE C
TRABJADO DE PROGRAMACION
OSCAR MORERA
UNIVERSIDAD DE CUNDINAMARCA
INGENIERIA DE SISTEMAS
ESTRUCTURAS DE INFORMACION
FACATATIVA
2014
PILAS Y COLAS
Pag.
INTRODUCCIÓN………………………………..…..…………………..4
OBJETIVOS……………………………………………………………...5
PILAS.…………………………………………………………………….6
Definición…………………………………….…………………………...........6
Funciones de las pilas……………....…….…………………………………..6
Operaciones básicas de pilas…………….………………………..………...7
Push, insertar elemento…………..……….…...……………………………..7
Push, en una pila vacía………………….…………………………………....7
pop, leer y eliminar un elemento………..…………………………………...8
Explicación de pilas desde el código………………………………………..8
Algoritmo de la función ”Push”……………………………………………….9
Algoritmo de la función ”Pop”………………………………………………...9
Ejemplo de pilas……………………………………………………………...10
COLAS………………………………………………………………….12
Definición…………………….………………………………………………………12
Funciones de las colas……………………………………………………………..12
Manejo de colas…………….……………………………………………………….12
Operaciones básicas con colas……………….………………………….............13
Añadir un elemento………………………….…………….………………...13
Añadir elemento en una cola vacía………………………………………..13
Añadir elemento en una cola no vacía…………………………………….14
Añadir elemento en una cola, caso general……………………………....14
Leer un elemento de una cola, implica eliminarlo………………………..14
Leer un elemento en una cola con más de un elemento………………..14
Leer un elemento en una cola con un solo elemento……………………15
Leer un elemento en una cola caso general…………………………...…15
Explicación de colas desde el código:……………………………………..16
Algoritmo de la función "añadir"…………………………………………….16
Algoritmo de la función "leer":………………………………………………16
Ejemplo de colas……………………………………………………………..18
CONCLUSION………………………………………………………….20
BIBLIOGRAFIA……………………..………………………………….21
DEFINICION:
Una pila es un tipo especial de lista abierta en la que sólo se pueden insertar y
eliminar nodos en uno de los extremos de la lista. Estas operaciones se
conocen como "push" y "pop", respectivamente "empujar" y "tirar". Además,
las escrituras de datos siempre son inserciones de nodos, y las lecturas
siempre eliminan el nodo leído.
El símil del que deriva el nombre de la estructura es una pila de platos. Sólo es
posible añadir platos en la parte superior de la pila, y sólo pueden tomarse del
mismo extremo.
-4
3 3
7 7 7
-7 -7 -7 -7
2 2 2 2 2
Pila NULL
nodo
Si la pila sólo tiene un nodo, el proceso sigue siendo válido, ya que el valor de
Pila->siguiente es NULL, y después de eliminar el último nodo la pila quedará
vacía, y el valor de Pila será NULL.
#include<iostream>
using namespace std;
DEFINICION:
Una cola es un tipo especial de lista abierta en la que sólo se puede insertar
nodos en uno de los extremos de la lista y sólo se pueden eliminar nodos en el
otro. Además, como sucede con las pilas, las escrituras de datos siempre son inserciones
de nodos, y las lecturas siempre eliminan el nodo leído.
Este tipo de lista es conocido como lista FIFO (First In First Out), el primero en
entrar es el primero en salir.
Manejo de colas:
Los tipos que definiremos normalmente para manejar colas serán casi
los mismos que para manejar listas y pilas.
Es evidente, a la vista del gráfico, que una cola es una lista abierta. Así que
sigue siendo muy importante que nuestro programa nunca pierda el valor del
puntero al primer elemento, igual que pasa con las listas abiertas. Además,
Teniendo en cuenta que las lecturas y escrituras en una cola se hacen siempre
en extremos distintos, lo más fácil será insertar nodos por el final,
a continuación del nodo que no tiene nodo siguiente, y leerlos desde el
principio, hay que recordar que leer un nodo implica eliminarlo de la cola
AÑADIR UN ELEMENTO:
Las operaciones con colas son muy sencillas, prácticamente no hay casosespeciales, salvo
que la cola esté vacía.
PrimeroNULL UltimoNULL
Si primero es NULL, hacemos que ultimo también apunte a NULL, ya que la lectura ha
dejado la cola vacía.
#include<iostream>
using namespace std;
2. Scribd: http://es.scribd.com/doc/52705482/Estructura-de-
Datos-c-Pilas-Colas-Listas-Arboles-3
3. Blog: http://colas-prog-relva-sevila.blogspot.com/
4. Diseño: valorcreativo.blogspot.com/2011/11/portadas-
word.html