SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
2.4 Colas

Apoyo SSD5
Colas
Una cola (queue) es una estructura de
datos lineal que utiliza una política de
inserción y eliminación de elementos
quot;primero en entrar, primero en salirquot;
conocido en inglés como quot;first-in, first-outquot;.




                  Mtl Lourdes Cahuich        2
Colas
Esto significa que el primer elemento
agregado a una cola es el primer
elemento en ser eliminado de la cola.
En otras palabras, las cosas se eliminan
del inicio y sólo se agregan al final de la
cola



                  Mtl Lourdes Cahuich         3
Colas
Las colas tienen muchas aplicaciones
diferentes en las ciencias
computacionales y el desarrollo de
software.
Una cola puede usarse para proveer un
almacén o buffer.
Un buffer ofrece un almacenamiento
temporal para la información que debe ser
procesada después.
                Mtl Lourdes Cahuich     4
Colas
Las aplicaciones que transportan audio y
video a través de Internet, almacenan un
cierto número de paquetes en una cola
para prevenir bajas temporales en la
velocidad de conexión




                Mtl Lourdes Cahuich        5
Mtl Lourdes Cahuich   6
Cómo Usar el Adaptador
   queue de STL
queue
La Biblioteca de Plantillas Estándar (STL)
contiene adaptadores que proveen una
interfaz nueva, pero similar a un
contenedor existente.
El adaptador de colas ofrece la interfaz
adecuada para una estructura de datos de
colas.


                Mtl Lourdes Cahuich      8
queue
Está basada, por omisión, en el
contenedor deque.
Cuando un objeto de tipo deque es usado,
un objeto de tipo deque es instanciado
realmente, sólo que con una interfaz más
adecuada para una cola



                Mtl Lourdes Cahuich    9
#include <iostream>
#include <string>
#include <cstdlib>
#include <queue>
using namespace std;
int main(int argc, char* argv[]) {
    queue<int> q;
   // push and pop
    q.push(1);
    q.pop();
   // front and back
    q.push(1);
    q.push(2);
    cout << q.front() << endl;
    cout << q.back() << endl;
    // size and empty
    cout << q.size() << endl;
    cout << q.empty() << endl;
    return EXIT_SUCCESS;
}
                      Mtl Lourdes Cahuich   10
queue
Los métodos push y pop insertan y remueven
elementos de una cola, y los métodos front y
back brindan acceso a los datos almacenados
al inicio y final de una cola.
De forma similar a otros contenedores de STL
que hemos examinado, el método size regresa
el número de elementos almacenados en una
cola, y el método empty despliega un true si la
cola está vacía y un false si la cola está
almacenando al menos un elemento
                  Mtl Lourdes Cahuich         11
queue
Algo de lo que el adaptador de colas
carece, es el soporte de iteradores.
Sin iteradores, no existe un método
para recorrer los elementos almacenados
en una cola.
Esencialmente, una cola esconde todos
los elementos que almacena, excepto el
primero y el último.
                Mtl Lourdes Cahuich       12
queue
Si una aplicación requiere una cola, pero
también requiere acceso a los elementos
almacenados en la cola, debe usarse un
deque en su lugar.
La siguiente tabla muestra las funciones
miembro de la clase queue y sus
equivalencias en la clase deque


                 Mtl Lourdes Cahuich        13
queue                        deque
   push                push_back
   pop                 pop_front
   front               front
   back                back
   size                size
   empty               empty
funciones miembro queue y sus equivalentes en deque


                      Mtl Lourdes Cahuich             14

Contenu connexe

Tendances

Pilas
PilasPilas
Pilaserik
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosK Manuel TN
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasknowallrpa
 
Arboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en JavaArboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en JavaLupitaOMG Garmendia
 
Pilas Colas IUTE
Pilas Colas IUTEPilas Colas IUTE
Pilas Colas IUTEestudientes
 
1.4.2 stack segment
1.4.2  stack  segment1.4.2  stack  segment
1.4.2 stack segmentgabo
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacionLuis Igoodbad
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130reyarturo16
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colasjorgeluis0317
 

Tendances (18)

Pilas
PilasPilas
Pilas
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datos
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Presentacion pilas lista y colas
Presentacion pilas lista y colas  Presentacion pilas lista y colas
Presentacion pilas lista y colas
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Arboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en JavaArboles y Colas de Prioridad en Java
Arboles y Colas de Prioridad en Java
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
Pilas Colas IUTE
Pilas Colas IUTEPilas Colas IUTE
Pilas Colas IUTE
 
1.4.2 stack segment
1.4.2  stack  segment1.4.2  stack  segment
1.4.2 stack segment
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Listas, pilas y colas richard ramos 09-1130
Listas, pilas y colas   richard ramos 09-1130Listas, pilas y colas   richard ramos 09-1130
Listas, pilas y colas richard ramos 09-1130
 
Adt
AdtAdt
Adt
 
Definición de pila (1)
Definición de pila (1)Definición de pila (1)
Definición de pila (1)
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colas
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 

Similaire à FIFO Queue

7 Stl Y Los Contenedores Basicos
7 Stl Y Los Contenedores Basicos7 Stl Y Los Contenedores Basicos
7 Stl Y Los Contenedores BasicosUVM
 
19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En ArbolesUVM
 
Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)sandra gutierrez
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)
Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)
Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)Rubi Veronica Chimal Cuxin
 
7 Stl Y Los Contenedores Basicos 3 Parte
7 Stl Y Los Contenedores Basicos 3 Parte7 Stl Y Los Contenedores Basicos 3 Parte
7 Stl Y Los Contenedores Basicos 3 ParteUVM
 
18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De BusquedaUVM
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y ColasAlex Pin
 
Trabajos de Estructura de Datos
Trabajos de Estructura de DatosTrabajos de Estructura de Datos
Trabajos de Estructura de Datoscarpiop
 
Santiago lópez
Santiago lópezSantiago lópez
Santiago lópezcarpiop
 
Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datosJosé Braganza
 
Estructura de datos
Estructura de datos Estructura de datos
Estructura de datos jarydr18
 
Unidad iii Pilas y colas
Unidad iii Pilas y colasUnidad iii Pilas y colas
Unidad iii Pilas y colasCecilia Loeza
 
PAILAS Y COLAS EN LA ULEAM FVD
PAILAS Y COLAS EN LA ULEAM FVDPAILAS Y COLAS EN LA ULEAM FVD
PAILAS Y COLAS EN LA ULEAM FVDFranco Snipes
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 

Similaire à FIFO Queue (20)

7 Stl Y Los Contenedores Basicos
7 Stl Y Los Contenedores Basicos7 Stl Y Los Contenedores Basicos
7 Stl Y Los Contenedores Basicos
 
19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles19 Contenedores De Stl Basados En Arboles
19 Contenedores De Stl Basados En Arboles
 
Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)
Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)
Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)
 
7 Stl Y Los Contenedores Basicos 3 Parte
7 Stl Y Los Contenedores Basicos 3 Parte7 Stl Y Los Contenedores Basicos 3 Parte
7 Stl Y Los Contenedores Basicos 3 Parte
 
18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Trabajos de Estructura de Datos
Trabajos de Estructura de DatosTrabajos de Estructura de Datos
Trabajos de Estructura de Datos
 
Santiago lópez
Santiago lópezSantiago lópez
Santiago lópez
 
Sesion n°1 estructura de datos
Sesion n°1 estructura de datosSesion n°1 estructura de datos
Sesion n°1 estructura de datos
 
Recolección de basura
Recolección de basuraRecolección de basura
Recolección de basura
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 
Estructura de datos
Estructura de datos Estructura de datos
Estructura de datos
 
Unidad iii Pilas y colas
Unidad iii Pilas y colasUnidad iii Pilas y colas
Unidad iii Pilas y colas
 
Colas
ColasColas
Colas
 
PAILAS Y COLAS EN LA ULEAM FVD
PAILAS Y COLAS EN LA ULEAM FVDPAILAS Y COLAS EN LA ULEAM FVD
PAILAS Y COLAS EN LA ULEAM FVD
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 

Plus de UVM

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programaciónUVM
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaUVM
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempoUVM
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosUVM
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglosUVM
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadoresUVM
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlUVM
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadoresUVM
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicosUVM
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datosUVM
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funcionesUVM
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funcionesUVM
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bitsUVM
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreUVM
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3UVM
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuarioUVM
 
Función main()
Función main()Función main()
Función main()UVM
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++UVM
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoUVM
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++UVM
 

Plus de UVM (20)

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación Avanzada
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglos
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadores
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stl
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadores
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicos
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datos
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funciones
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembre
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
 
Función main()
Función main()Función main()
Función main()
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agosto
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
 

FIFO Queue

  • 2. Colas Una cola (queue) es una estructura de datos lineal que utiliza una política de inserción y eliminación de elementos quot;primero en entrar, primero en salirquot; conocido en inglés como quot;first-in, first-outquot;. Mtl Lourdes Cahuich 2
  • 3. Colas Esto significa que el primer elemento agregado a una cola es el primer elemento en ser eliminado de la cola. En otras palabras, las cosas se eliminan del inicio y sólo se agregan al final de la cola Mtl Lourdes Cahuich 3
  • 4. Colas Las colas tienen muchas aplicaciones diferentes en las ciencias computacionales y el desarrollo de software. Una cola puede usarse para proveer un almacén o buffer. Un buffer ofrece un almacenamiento temporal para la información que debe ser procesada después. Mtl Lourdes Cahuich 4
  • 5. Colas Las aplicaciones que transportan audio y video a través de Internet, almacenan un cierto número de paquetes en una cola para prevenir bajas temporales en la velocidad de conexión Mtl Lourdes Cahuich 5
  • 7. Cómo Usar el Adaptador queue de STL
  • 8. queue La Biblioteca de Plantillas Estándar (STL) contiene adaptadores que proveen una interfaz nueva, pero similar a un contenedor existente. El adaptador de colas ofrece la interfaz adecuada para una estructura de datos de colas. Mtl Lourdes Cahuich 8
  • 9. queue Está basada, por omisión, en el contenedor deque. Cuando un objeto de tipo deque es usado, un objeto de tipo deque es instanciado realmente, sólo que con una interfaz más adecuada para una cola Mtl Lourdes Cahuich 9
  • 10. #include <iostream> #include <string> #include <cstdlib> #include <queue> using namespace std; int main(int argc, char* argv[]) { queue<int> q; // push and pop q.push(1); q.pop(); // front and back q.push(1); q.push(2); cout << q.front() << endl; cout << q.back() << endl; // size and empty cout << q.size() << endl; cout << q.empty() << endl; return EXIT_SUCCESS; } Mtl Lourdes Cahuich 10
  • 11. queue Los métodos push y pop insertan y remueven elementos de una cola, y los métodos front y back brindan acceso a los datos almacenados al inicio y final de una cola. De forma similar a otros contenedores de STL que hemos examinado, el método size regresa el número de elementos almacenados en una cola, y el método empty despliega un true si la cola está vacía y un false si la cola está almacenando al menos un elemento Mtl Lourdes Cahuich 11
  • 12. queue Algo de lo que el adaptador de colas carece, es el soporte de iteradores. Sin iteradores, no existe un método para recorrer los elementos almacenados en una cola. Esencialmente, una cola esconde todos los elementos que almacena, excepto el primero y el último. Mtl Lourdes Cahuich 12
  • 13. queue Si una aplicación requiere una cola, pero también requiere acceso a los elementos almacenados en la cola, debe usarse un deque en su lugar. La siguiente tabla muestra las funciones miembro de la clase queue y sus equivalencias en la clase deque Mtl Lourdes Cahuich 13
  • 14. queue deque push push_back pop pop_front front front back back size size empty empty funciones miembro queue y sus equivalentes en deque Mtl Lourdes Cahuich 14