SlideShare una empresa de Scribd logo
1 de 7
Estructura de Datos
1
Por: Ing. Oswaldo Basurto G.
C O L A S
UNEDS
Modalidad de Estudios Semipresencial
TUTOR: Ing. Oswaldo Basurto G. Msc
Estructura de Datos
2
Por: Ing. Oswaldo Basurto G.
Una cola es un tipo especial de lista enalazada 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. 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.
Definición de Colas
Estructura de Datos
3
Por: Ing. Oswaldo Basurto G.
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:
struct nodo{
int dato;
struct nodo *sig;
};
/* Declaración de variable para pila */
struct nodo *primero, *ultimo, *p=NULL;
Definición de Cola
Estructura de Datos
4
Por: Ing. Oswaldo Basurto G.
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.
Operaciones con Colas
Estructura de Datos
5
Por: Ing. Oswaldo Basurto G.
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 muy simple, bastará con que:
1. p->sig apunte a NULL.
2. Y que los punteros primero y ultimo apunten a p.
Añadir nodo en una cola vacía
Estructura de Datos
6
Por: Ing. Oswaldo Basurto G.
De nuevo partiremos de un nodo a insertar, con un puntero que apunte a él, y de una cola, en
este caso, al no estar vacía, los punteros primero y ultimo no serán nulos:
El proceso sigue siendo muy sencillo:
1. Hacemos que p->sig apunte a NULL.
2. Después que ultimo->sig apunte a p.
3. Actualizamos ultimo, haciendo que apunte a p.
Añadir elemento a una cola no vacía
Estructura de Datos
7
Por: Ing. Oswaldo Basurto G.
Ahora sólo existe un caso posible, ya que sólo podemos leer desde un extremo de la cola.
Partiremos de una cola con uno o más nodos, y usaremos un puntero auxiliar, nodo:
1. Hacemos que aux apunte a primero.
2. Asignamos a primero la dirección del segundo nodo de la cola: primero->sig.
3. Liberamos la memoria asignada a aux, el que queremos eliminar.
Leer y eliminar un elemento de la Cola

Más contenido relacionado

Similar a Algoritmos y Estructura de Datoa, aplicación colas

Proyecto estructura
Proyecto estructuraProyecto estructura
Proyecto estructuramercy
 
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 cCarlosRamsesGp
 
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
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y ColasAlex Pin
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPMiguelGomez371
 
Informe declaracion de listas David Ratmiroff.pdf
Informe declaracion de listas David Ratmiroff.pdfInforme declaracion de listas David Ratmiroff.pdf
Informe declaracion de listas David Ratmiroff.pdfYuriratmiroff
 
Arboles presentacion
Arboles presentacionArboles presentacion
Arboles presentacionjenny
 
Listas en C#
Listas en C#Listas en C#
Listas en C#rezzaca
 
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
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasrehoscript
 

Similar a Algoritmos y Estructura de Datoa, aplicación colas (20)

Proyecto estructura
Proyecto estructuraProyecto estructura
Proyecto estructura
 
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
 
Teoria de listas
Teoria de listasTeoria de listas
Teoria de listas
 
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
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
estructura lineales
estructura linealesestructura lineales
estructura lineales
 
Operaciones con colas
Operaciones con colasOperaciones con colas
Operaciones con colas
 
Apuntadores y listas
Apuntadores y listasApuntadores y listas
Apuntadores y listas
 
Listas
ListasListas
Listas
 
Listas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UPListas doblemente enlazadas C++ UP
Listas doblemente enlazadas C++ UP
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Informe declaracion de listas David Ratmiroff.pdf
Informe declaracion de listas David Ratmiroff.pdfInforme declaracion de listas David Ratmiroff.pdf
Informe declaracion de listas David Ratmiroff.pdf
 
Sesion_09.pptx
Sesion_09.pptxSesion_09.pptx
Sesion_09.pptx
 
Arboles presentacion
Arboles presentacionArboles presentacion
Arboles presentacion
 
Listas
ListasListas
Listas
 
Listas en C#
Listas en C#Listas en C#
Listas en C#
 
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
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicas
 
Lista simple
Lista simpleLista simple
Lista simple
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 

Más de VivianaParraga3

Aplicación de arreglos en lenguaje de programación C
Aplicación de arreglos en lenguaje de programación CAplicación de arreglos en lenguaje de programación C
Aplicación de arreglos en lenguaje de programación CVivianaParraga3
 
Sistema de numeración ccna 1 del curso de cisco modulo 5
Sistema de numeración ccna 1 del curso de cisco modulo 5Sistema de numeración ccna 1 del curso de cisco modulo 5
Sistema de numeración ccna 1 del curso de cisco modulo 5VivianaParraga3
 
Modulo 7 curso linux ccna 1 acerca conmuntacion ethernet de
Modulo 7 curso linux ccna 1 acerca conmuntacion ethernet deModulo 7 curso linux ccna 1 acerca conmuntacion ethernet de
Modulo 7 curso linux ccna 1 acerca conmuntacion ethernet deVivianaParraga3
 
Modulo 4 ccna 1 del curso de cisco de netacad
Modulo 4 ccna 1 del curso de cisco de netacadModulo 4 ccna 1 del curso de cisco de netacad
Modulo 4 ccna 1 del curso de cisco de netacadVivianaParraga3
 
Modulo 3 de ccna 1 de Cisco sobre protocolos y modelos
Modulo 3 de ccna 1 de Cisco sobre protocolos y modelosModulo 3 de ccna 1 de Cisco sobre protocolos y modelos
Modulo 3 de ccna 1 de Cisco sobre protocolos y modelosVivianaParraga3
 
Tema 7 Servicios de Video y Contenido.pptx
Tema 7 Servicios de Video y Contenido.pptxTema 7 Servicios de Video y Contenido.pptx
Tema 7 Servicios de Video y Contenido.pptxVivianaParraga3
 
Redes telefónicas y redes celulares completo
Redes telefónicas y redes celulares completoRedes telefónicas y redes celulares completo
Redes telefónicas y redes celulares completoVivianaParraga3
 
Virtualizaicon de redes y Sistemas Operativos
Virtualizaicon de redes y Sistemas OperativosVirtualizaicon de redes y Sistemas Operativos
Virtualizaicon de redes y Sistemas OperativosVivianaParraga3
 
2018B_INTRO_PROG_Clase10.pdf
2018B_INTRO_PROG_Clase10.pdf2018B_INTRO_PROG_Clase10.pdf
2018B_INTRO_PROG_Clase10.pdfVivianaParraga3
 

Más de VivianaParraga3 (9)

Aplicación de arreglos en lenguaje de programación C
Aplicación de arreglos en lenguaje de programación CAplicación de arreglos en lenguaje de programación C
Aplicación de arreglos en lenguaje de programación C
 
Sistema de numeración ccna 1 del curso de cisco modulo 5
Sistema de numeración ccna 1 del curso de cisco modulo 5Sistema de numeración ccna 1 del curso de cisco modulo 5
Sistema de numeración ccna 1 del curso de cisco modulo 5
 
Modulo 7 curso linux ccna 1 acerca conmuntacion ethernet de
Modulo 7 curso linux ccna 1 acerca conmuntacion ethernet deModulo 7 curso linux ccna 1 acerca conmuntacion ethernet de
Modulo 7 curso linux ccna 1 acerca conmuntacion ethernet de
 
Modulo 4 ccna 1 del curso de cisco de netacad
Modulo 4 ccna 1 del curso de cisco de netacadModulo 4 ccna 1 del curso de cisco de netacad
Modulo 4 ccna 1 del curso de cisco de netacad
 
Modulo 3 de ccna 1 de Cisco sobre protocolos y modelos
Modulo 3 de ccna 1 de Cisco sobre protocolos y modelosModulo 3 de ccna 1 de Cisco sobre protocolos y modelos
Modulo 3 de ccna 1 de Cisco sobre protocolos y modelos
 
Tema 7 Servicios de Video y Contenido.pptx
Tema 7 Servicios de Video y Contenido.pptxTema 7 Servicios de Video y Contenido.pptx
Tema 7 Servicios de Video y Contenido.pptx
 
Redes telefónicas y redes celulares completo
Redes telefónicas y redes celulares completoRedes telefónicas y redes celulares completo
Redes telefónicas y redes celulares completo
 
Virtualizaicon de redes y Sistemas Operativos
Virtualizaicon de redes y Sistemas OperativosVirtualizaicon de redes y Sistemas Operativos
Virtualizaicon de redes y Sistemas Operativos
 
2018B_INTRO_PROG_Clase10.pdf
2018B_INTRO_PROG_Clase10.pdf2018B_INTRO_PROG_Clase10.pdf
2018B_INTRO_PROG_Clase10.pdf
 

Último

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
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Último (11)

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
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Algoritmos y Estructura de Datoa, aplicación colas

  • 1. Estructura de Datos 1 Por: Ing. Oswaldo Basurto G. C O L A S UNEDS Modalidad de Estudios Semipresencial TUTOR: Ing. Oswaldo Basurto G. Msc
  • 2. Estructura de Datos 2 Por: Ing. Oswaldo Basurto G. Una cola es un tipo especial de lista enalazada 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. 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. Definición de Colas
  • 3. Estructura de Datos 3 Por: Ing. Oswaldo Basurto G. 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: struct nodo{ int dato; struct nodo *sig; }; /* Declaración de variable para pila */ struct nodo *primero, *ultimo, *p=NULL; Definición de Cola
  • 4. Estructura de Datos 4 Por: Ing. Oswaldo Basurto G. 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. Operaciones con Colas
  • 5. Estructura de Datos 5 Por: Ing. Oswaldo Basurto G. 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 muy simple, bastará con que: 1. p->sig apunte a NULL. 2. Y que los punteros primero y ultimo apunten a p. Añadir nodo en una cola vacía
  • 6. Estructura de Datos 6 Por: Ing. Oswaldo Basurto G. De nuevo partiremos de un nodo a insertar, con un puntero que apunte a él, y de una cola, en este caso, al no estar vacía, los punteros primero y ultimo no serán nulos: El proceso sigue siendo muy sencillo: 1. Hacemos que p->sig apunte a NULL. 2. Después que ultimo->sig apunte a p. 3. Actualizamos ultimo, haciendo que apunte a p. Añadir elemento a una cola no vacía
  • 7. Estructura de Datos 7 Por: Ing. Oswaldo Basurto G. Ahora sólo existe un caso posible, ya que sólo podemos leer desde un extremo de la cola. Partiremos de una cola con uno o más nodos, y usaremos un puntero auxiliar, nodo: 1. Hacemos que aux apunte a primero. 2. Asignamos a primero la dirección del segundo nodo de la cola: primero->sig. 3. Liberamos la memoria asignada a aux, el que queremos eliminar. Leer y eliminar un elemento de la Cola