SlideShare una empresa de Scribd logo
1 de 10
COLAS EN C++
Definicion.

Las Colas son estructuras de datos que permiten
almacenar datos en el orden  lista FIFO (First In First Out),
el primero en entrar es el primero en salir.
Una cola es un tipo especial
de lista abierta en la que
sólo se pueden insertar
nodos en uno de los
extremos de la lista y sólo se
pueden eliminar nodos en el
otro.
El símil cotidiano es una
cola para comprar, por
ejemplo, las entradas del
cine.
Los
nuevos
compradores sólo pueden
colocarse al final de la cola,
y sólo el primero de la cola
puede comprar la entrada
Declaraciones de tipos para manejar
colas en C.
El nodo típico para construir colas
typedef struct _nodo {
int dato;
struct _nodo
*siguiente;
} tipoNodo;
typedef tipoNodo *pNodo;
typedef tipoNodo *Cola;
Es evidente, 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,
Además mantener un puntero para
el último elemento de la cola, que
será el punto donde insertemos

Los tipos que definiremos
normalmente para manejar
colas serán casi los mismos
que para manejar listas y
pilas, tan sólo cambiaremos
algunos nombres:

*tipoNodo es el tipo para declarar nodos.
*pNodo es el tipo para declarar punteros a un nod
*Cola es el tipo para declarar colas.
Las Colas
GESTIÓN DE
MEMORIA
ESTÁTICA

GESTIÓN DE
MEMORIA
DINÁMICA
Operaciones básicas.
De nuevo nos encontramos ante una
estructura con muy pocas operaciones
disponibles. Las colas sólo permiten añadir
y leer elementos:

Añadir:
Inserta
un
elemento al final de la
cola.

Leer: Lee y elimina un elemento
del principio de la cola.

Las operaciones con colas son
muy sencillas, no hay casos
especiales, salvo que la cola
esté vacía.
Añadir elemento en una cola vacía
Partiremos de que ya tenemos el
nodo a insertar y, por supuesto
un puntero que apunte a él,
además los punteros que
definen la cola, primero y ultimo
que valdrán NULL:
El proceso es
bastará con que

muy

simple,

1. Hacer que nodo->siguiente
apunte a NULL.
2.Que el puntero primero apunte
a nodo.
3 . Y que el puntero último
también apunte a nodo.
Añadir elemento en una cola no vacía

Partiremos de que ya tenemos el nodo a
insertar y, por supuesto un puntero que
apunte a él, además los punteros que
definen la cola, primero y ultimo que
valdrán NULL:

El proceso sigue siendo muy
sencillo:
Hacemos que:
1. nodo->siguiente apunte a
NULL.
2.Después
que
ultimo>siguiente apunte a nodo.
Leer un elemento en una cola
con más de un elemento
Usaremos un puntero a un nodo auxiliar:

1.Hacemos que nodo apunte al primer elemento de la cola,
es decir a primero.
2.Asignamos a primero la dirección del segundo nodo de la
pila: primero->siguiente.
3.Guardamos el contenido del nodo para devolverlo como
retorno, recuerda que la operación de lectura en colas
implican también borrar.
4.Liberamos la memoria asignada al primer nodo, el que
queremos eliminar.
Leer un elemento en una cola
con un solo elemento
También necesitamos un puntero a un nodo
auxiliar:
1.Hacemos que nodo apunte al primer elemento
de la pila, es decir a primero.
2.Asignamos NULL a primero, que es la
dirección del segundo nodo teórico de la cola:
primero->siguiente.
3.Guardamos el contenido del nodo para
devolverlo como retorno, recuerda que la
operación de lectura en colas implican también
borrar.
4.Liberamos la memoria asignada al primer
nodo, el que queremos eliminar.
5.Hacemos que ultimo apunte a NULL, ya que la
lectura ha dejado la cola vacía.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

Estructuras dinámicas de Datos Lenguaje c
Estructuras dinámicas de Datos Lenguaje cEstructuras dinámicas de Datos Lenguaje c
Estructuras dinámicas de Datos Lenguaje c
 
Arreglos en pascal1
Arreglos en pascal1Arreglos en pascal1
Arreglos en pascal1
 
Pe15 cadenacaracteres
Pe15 cadenacaracteresPe15 cadenacaracteres
Pe15 cadenacaracteres
 
Equipo 1
Equipo 1Equipo 1
Equipo 1
 
Ap n° 3 rios,m. fernanda
Ap n° 3 rios,m. fernandaAp n° 3 rios,m. fernanda
Ap n° 3 rios,m. fernanda
 
Cifrado del cesar
Cifrado del cesarCifrado del cesar
Cifrado del cesar
 
Tipos de datos.java
Tipos de datos.javaTipos de datos.java
Tipos de datos.java
 
Examen en olly dbg
Examen en olly dbgExamen en olly dbg
Examen en olly dbg
 
Investigacion 1
Investigacion 1Investigacion 1
Investigacion 1
 
Fundamentos de java I
Fundamentos de java IFundamentos de java I
Fundamentos de java I
 
Ola k ase
Ola k aseOla k ase
Ola k ase
 
Tipos de datos para C++
Tipos de datos para C++Tipos de datos para C++
Tipos de datos para C++
 
Informe metodos de ordenamiento
Informe metodos de ordenamientoInforme metodos de ordenamiento
Informe metodos de ordenamiento
 
Informe tecnico u 5-victor uex
Informe tecnico u 5-victor uexInforme tecnico u 5-victor uex
Informe tecnico u 5-victor uex
 
C++
C++C++
C++
 
Libreria c++
Libreria c++Libreria c++
Libreria c++
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 

Similar a Colas

Algoritmos y Estructura de Datoa, aplicación colas
Algoritmos y Estructura de Datoa, aplicación colasAlgoritmos y Estructura de Datoa, aplicación colas
Algoritmos y Estructura de Datoa, aplicación colasVivianaParraga3
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datosmariajuly
 
Examen De Estructura De Datos
Examen De Estructura De DatosExamen De Estructura De Datos
Examen De Estructura De Datosvanessa peñafiel
 
UNIVERSIDAD TECNICA DE MANAB{I
UNIVERSIDAD TECNICA DE MANAB{IUNIVERSIDAD TECNICA DE MANAB{I
UNIVERSIDAD TECNICA DE MANAB{IJULIO
 
Proyecto estructura
Proyecto estructuraProyecto estructura
Proyecto estructuramercy
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y ColasAlex Pin
 
1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptxFernando Solis
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesJosé Antonio Sandoval Acosta
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3marioUitzil
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Jhon_Marjorie
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3efrain_rap
 
Implementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptxImplementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptxRafael nin
 
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
 
Colas y listas generales
Colas y listas generalesColas y listas generales
Colas y listas generalesPatty Torres
 

Similar a Colas (20)

Clase De Colas
Clase De ColasClase De Colas
Clase De Colas
 
Algoritmos y Estructura de Datoa, aplicación colas
Algoritmos y Estructura de Datoa, aplicación colasAlgoritmos y Estructura de Datoa, aplicación colas
Algoritmos y Estructura de Datoa, aplicación colas
 
Diapositiva de l estructura de datos
Diapositiva de l estructura de datosDiapositiva de l estructura de datos
Diapositiva de l estructura de datos
 
Examen De Estructura De Datos
Examen De Estructura De DatosExamen De Estructura De Datos
Examen De Estructura De Datos
 
UNIVERSIDAD TECNICA DE MANAB{I
UNIVERSIDAD TECNICA DE MANAB{IUNIVERSIDAD TECNICA DE MANAB{I
UNIVERSIDAD TECNICA DE MANAB{I
 
Operaciones con colas
Operaciones con colasOperaciones con colas
Operaciones con colas
 
Proyecto estructura
Proyecto estructuraProyecto estructura
Proyecto estructura
 
Apuntadores y listas
Apuntadores y listasApuntadores y listas
Apuntadores y listas
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx
 
Estructuras dinámicas de datos
Estructuras dinámicas de datosEstructuras dinámicas de datos
Estructuras dinámicas de datos
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
Unidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datosUnidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datos
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3
 
Implementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptxImplementación-de-pilas-por-medio-de-listas.pptx
Implementación-de-pilas-por-medio-de-listas.pptx
 
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)
 
Colas y listas generales
Colas y listas generalesColas y listas generales
Colas y listas generales
 

Último

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (15)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Colas

  • 2. Definicion. Las Colas son estructuras de datos que permiten almacenar datos en el orden  lista FIFO (First In First Out), el primero en entrar es el primero en salir.
  • 3. Una cola es un tipo especial de lista abierta en la que sólo se pueden insertar nodos en uno de los extremos de la lista y sólo se pueden eliminar nodos en el otro. El símil cotidiano es una cola para comprar, por ejemplo, las entradas del cine. Los nuevos compradores sólo pueden colocarse al final de la cola, y sólo el primero de la cola puede comprar la entrada
  • 4. Declaraciones de tipos para manejar colas en C. El nodo típico para construir colas typedef struct _nodo { int dato; struct _nodo *siguiente; } tipoNodo; typedef tipoNodo *pNodo; typedef tipoNodo *Cola; Es evidente, 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, Además mantener un puntero para el último elemento de la cola, que será el punto donde insertemos Los tipos que definiremos normalmente para manejar colas serán casi los mismos que para manejar listas y pilas, tan sólo cambiaremos algunos nombres: *tipoNodo es el tipo para declarar nodos. *pNodo es el tipo para declarar punteros a un nod *Cola es el tipo para declarar colas.
  • 6. Operaciones básicas. De nuevo nos encontramos ante una estructura con muy pocas operaciones disponibles. Las colas sólo permiten añadir y leer elementos: Añadir: Inserta un elemento al final de la cola. Leer: Lee y elimina un elemento del principio de la cola. Las operaciones con colas son muy sencillas, no hay casos especiales, salvo que la cola esté vacía.
  • 7. Añadir elemento en una cola vacía Partiremos de que ya tenemos el nodo a insertar y, por supuesto un puntero que apunte a él, además los punteros que definen la cola, primero y ultimo que valdrán NULL: El proceso es bastará con que muy simple, 1. Hacer que nodo->siguiente apunte a NULL. 2.Que el puntero primero apunte a nodo. 3 . Y que el puntero último también apunte a nodo.
  • 8. Añadir elemento en una cola no vacía Partiremos de que ya tenemos el nodo a insertar y, por supuesto un puntero que apunte a él, además los punteros que definen la cola, primero y ultimo que valdrán NULL: El proceso sigue siendo muy sencillo: Hacemos que: 1. nodo->siguiente apunte a NULL. 2.Después que ultimo>siguiente apunte a nodo.
  • 9. Leer un elemento en una cola con más de un elemento Usaremos un puntero a un nodo auxiliar: 1.Hacemos que nodo apunte al primer elemento de la cola, es decir a primero. 2.Asignamos a primero la dirección del segundo nodo de la pila: primero->siguiente. 3.Guardamos el contenido del nodo para devolverlo como retorno, recuerda que la operación de lectura en colas implican también borrar. 4.Liberamos la memoria asignada al primer nodo, el que queremos eliminar.
  • 10. Leer un elemento en una cola con un solo elemento También necesitamos un puntero a un nodo auxiliar: 1.Hacemos que nodo apunte al primer elemento de la pila, es decir a primero. 2.Asignamos NULL a primero, que es la dirección del segundo nodo teórico de la cola: primero->siguiente. 3.Guardamos el contenido del nodo para devolverlo como retorno, recuerda que la operación de lectura en colas implican también borrar. 4.Liberamos la memoria asignada al primer nodo, el que queremos eliminar. 5.Hacemos que ultimo apunte a NULL, ya que la lectura ha dejado la cola vacía.