1. Con una cuenta podrás:

    • Publicar preguntas y pedir ayuda
    • Crear tutoriales
    • Acceder a contenido privado
    • Convertirte en un Héroe de la web
    Cerrar notificación
  2. Eres nuevo en la comunidad y necesitas ayuda?
    Sigue estos pasos y recomendaciones antes de publicar tu duda:
    Cerrar notificación

Solucionado ¿Que son las Colas y Pilas?

Tema en 'C / C++' comenzado por RennyJr, 13 de Enero de 2015.

Estado del tema:
No está abierto para más respuestas.
  1. RennyJr

    RennyJr Nuevo Miembro

    Se incorporó:
    13 de Enero de 2015
    Mensajes:
    6
    Me gusta recibidos:
    0
    Puntos de trofeos:
    1
    Género:
    Hombre
    Ocupación:
    Estudiante de Bachillerato
    Localización:
    Sonora
    Lenguaje C++

    Soy nuevo en este foro ademas de estudiante de preparatoria y como especialidad me toco programador de software y todo iba bien hasta que me toco un profesor que no tenia mucho interes en explicar o enseñarnos.

    Justo toco el tema de Colas y Pilas de lo cual no entendi nada. Necesito ayuda ya que este semestre me cambian de profesor y no entendi el tema, ¿alguien me puede explicar como se aplican?

    Gracias!
     
  2. joakingh

    joakingh Nuevo Miembro

    Se incorporó:
    9 de Enero de 2015
    Mensajes:
    25
    Me gusta recibidos:
    12
    Puntos de trofeos:
    3
    Género:
    Hombre
    Ocupación:
    Estudiante
    Localización:
    Argentina
    A RennyJr y Creigthon les gusta esto.
  3. orlandoisay

    orlandoisay Nuevo Miembro

    Se incorporó:
    12 de Enero de 2015
    Mensajes:
    5
    Me gusta recibidos:
    7
    Puntos de trofeos:
    3
    Género:
    Hombre
    Ocupación:
    Estudiante
    Localización:
    Moroleon, Gto
    Mira, las pilas y colas son estructuras para guardar datos. Ambas cuentas con funciones básicas y sirven en muchos casos. Son muy parecidas, sin embargo, tienen algunas diferencias que explicaré más adelante.

    Colas
    Son una estructura FIFO (First In-First Out), lo cual quiere decir que los primeros datos que entran son los primeros en ser usados.
    En el supermercado las filas para las cajas son ejemplo de colas. Los clientes se forman en el orden en que llegaron, y son atendidos en ese mismo orden. Todos esperan su turno en la fila y cuando atienden al cliente que está más adelante todos se recorren un lugar hacia adelante.
    Es lo mismo en C, las colas son un arreglo de datos en el que el primer dato ingresado es el que se toma. Existen muchas formas de programarlo pero la más básica es la siguiente:

    Inicializar la cola
    PHP:

    //Definimos un arreglo con un tamaño suficiente para almacenar todos los datos
    int Cola[10000];
    //Definimos dos variables para saber cual dato esta al frente cual al final,
    //cuando inicializamos la cola ambos deben ser la posicion 0 del arreglo
    int Frente=0, Fondo=0;
     
    Agregar elemento a la cola
    PHP:

    //Creamos la función para agregar
    //Como vimos arriba, los elementos nuevos se agregan al fondo
    void agregar(int elemento) {
        //Asignamos el valor al fondo
        Cola[Fondo]=elemento;
        //Movemos la variable un lugar hacia atras
        Fondo++;
    }
     
    Ver el elemento al frente
    PHP:

    int frente() {
        //Regresamos el elemento al frente
        return Cola[Frente];
    }
     
    Sacar el elemento al frente
    Cuando ya procesamos el elemento al frente y sabemos que ya no lo necesitamos, en la vida real todos los elementos se recorrerían un lugar hacia adelante. Sin embargo, en programación hacer eso sería muy lento, así que solo movemos la variable Frente un lugar hacia atrás. Con eso aseguramos que el nuevo elemento al frente será el siguiente.
    PHP:

    void sacar() {
        //Regresamos el elemento al frente
        Frente++;
    }
     
    Aunque no es necesario programar la estructura de la cola, es bueno saber como funciona.

    En C++ hay una librería que ya tiene implementada la cola, con más funciones que pueden ser de ayuda. La librería la puedes incluir con #include <queue>
    Ella cuenta con funciones para agregar, eliminar, consultar, ver el tamaño de la cola, o saber si está vacía.
    Aquí está una página con la documentación necesaria:
    http://www.cplusplus.com/reference/queue/queue/

    Pilas
    La forma de verlas es como un montón de platos apilado. Cuando se agrega un plato se pone encima del montón. En este caso, a diferencia de la cola, el plato que se toma es el que está hasta arriba, es decir, el que se agregó al final.
    La implementación es la siguiente:

    Inicializar
    PHP:

    //Definimos un arreglo con un tamaño suficiente para almacenar todos los datos
    int Pila[10000];
    //Definimos una variable para saber el elemento al frente
    int Frente=0;
     
    Inicializar
    PHP:

    //Definimos un arreglo con un tamaño suficiente para almacenar todos los datos
    int Pila[10000];
    //Definimos una variable para saber el elemento al frente
    int Frente=0;
     
    Agregar elemento a la cola
    PHP:

    void agregar(int elemento) {
        Pila[Frente]=elemento;
        //Movemos la variable un lugar hacia atras
        Frente++;
    }
     
    Ver el elemento al frente
    PHP:

    int frente() {
        //Regresamos el elemento al frente
        if(frente>0)
            return Pila[Frente-1];
        else
            return -1;
    }
     
    Sacar el último elemento
    PHP:

    int sacar() {
        Frente--;
    }
     
    De igual formar, C++ cuenta con una librería que tiene implementada la estructura de la pila. Aquí está una página con la documentación correspondiente.
    http://www.cplusplus.com/reference/stack/stack/
     
    A Maddenamy, RennyJr, Creigthon y 2 otros les gusta esto.
Estado del tema:
No está abierto para más respuestas.

Comparte esta página