SlideShare una empresa de Scribd logo
PROF. MARÍA A. GARCÍA C O L A
PROF. MARÍA A. GARCÍA COLA 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. 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, debido a su comportamiento.
PROF. MARÍA A. GARCÍA COLA 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, debido al funcionamiento de las colas, también deberemos mantener un puntero para el último elemento de la cola, que será el punto donde insertemos nuevos nodos. 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.
PROF. MARÍA A. GARCÍA APLICACIONES Una aplicación en la que las colas figuran como estructura de datos prominente es la simulación por computadora de situaciones del mundo real. Las colas también se utilizan en muchas maneras en los sistemas operativos para planificar el uso de los distintos recursos de la computadora. Uno de estos recursos es el propio CPU. Si está trabajando en un sistema multiusuario, cuando le dice a la computadora que ejecute un programa concreto, el sistema operativo añade su petición  a su “cola de trabajo”. Cuando su petición llega al frente de la cola, el programa solicitado pasa a ejecutarse. Igualmente las colas se utilizan para asignar tiempo a los distintos usuarios de los dispositivos de entrada/salida (E/S), impresoras, discos y demás. El sistema operativo mantiene colas para peticiones de imprimir, leer o escribir en cada uno de estas dispositivos.
PROF. MARÍA A. GARCÍA Para añadir en la cola con gestión de memoria estática debemos hacer lo siguiente: Verificar que la cola no esté llena Incrementamos a último Insertamos el valor en el vector Para leer en la cola con gestión de memoria estática debemos hacer lo siguiente: Verificar que la cola no esté vacía Incrementamos a primero Mostramos el valor desde el vector. MEMORIA ESTÁTICA
PROF. MARÍA A. GARCÍA MEMORIA ESTÁTICA
PROF. MARÍA A. GARCÍA MEMORIA ESTÁTICA
PROF. MARÍA A. GARCÍA OPERACIONES BÁSICAS DE UNA COLA Añadir: Inserta un elemento al final de la cola.  Leer: Lee y elimina un elemento del principio de la cola.  Ambas operaciones se realizan tanto para la gestión de memoria dinámica como para la gestión de memoria estática.
PROF. MARÍA A. GARCÍA INSERCIÓN MEMORIA DINÁMICA Las operaciones con colas son muy sencillas, prácticamente 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 muy simple, bastará con que: nodo->siguiente apunte a NULL.  Y que los punteros primero y ultimo apunten a nodo.
PROF. MARÍA A. GARCÍA INSERCIÓN MEMORIA DINÁMICA Añadir elemento en una cola no vacía: 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: Hacemos que nodo->siguiente apunte a NULL.  Después que ultimo->siguiente apunte a nodo.  Y actualizamos ultimo, haciendo que apunte a nodo.
PROF. MARÍA A. GARCÍA ELIMINAR MEMORIA DINÁMICA Leer un elemento en una cola con más de un elemento: Usaremos un puntero a un nodo auxiliar: Hacemos que nodo apunte al primer elemento de la cola, es decir a primero.  Asignamos a primero la dirección del segundo nodo de la pila: primero->siguiente.  Guardamos el contenido del nodo para devolverlo como retorno, recuerda que la operación de lectura en colas implican también borrar.  Liberamos la memoria asignada al primer nodo, el que queremos eliminar.
PROF. MARÍA A. GARCÍA ELIMINAR MEMORIA DINÁMICA Leer un elemento en una cola con un solo elemento: También necesitamos un puntero a un nodo auxiliar: Hacemos que nodo apunte al primer elemento de la pila, es decir a primero.  Asignamos NULL a primero, que es la dirección del segundo nodo teórico de la cola: primero->siguiente.  Guardamos el contenido del nodo para devolverlo como retorno, recuerda que la operación de lectura en colas implican también borrar.  Liberamos la memoria asignada al primer nodo, el que queremos eliminar.  Hacemos que ultimo apunte a NULL, ya que la lectura ha dejado la cola vacía.
PROF. MARÍA A. GARCÍA INTERPRETA MI MENSAJE Estaba un día muy  y  luego paso un gran amig@  y me dijo no estés  hoy es un día agradable como para estar  me cuenta un chiste que me muero de la  , y le dije gracias con  un  eres  muy amable.

Más contenido relacionado

PPT
DOC
pila cola arboles
PPT
PDF
Estructuras dinámicas de Datos Lenguaje c
PPTX
Pe15 cadenacaracteres
DOCX
Leccion3
PPTX
Listas cola y_pila.ranli_y_eladio
PDF
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
pila cola arboles
Estructuras dinámicas de Datos Lenguaje c
Pe15 cadenacaracteres
Leccion3
Listas cola y_pila.ranli_y_eladio
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...

La actualidad más candente (17)

DOCX
Maquinas de turing
PPTX
Maquina de turing
PDF
06 - Arrays y matrices en lenguaje C
PDF
03 - Cadenas en Python 3
PPTX
Máquinas de turing
PDF
Funcion del lex
PDF
Tipos de maquina de turing
PPT
Sesion1 Php Basico
ODP
Introducción a la programación en Python
DOCX
Reny Galaviz Web Quest
PPTX
Bibliotecas o libreria de c++
PDF
Tema7 dinamicas
PDF
Tecnicas de Blind-Mysql-Injection
PPTX
Cadena De Caracteres_adrian
PDF
Matlab 2
PPTX
Librerias de C++
PPTX
Comenzando a programar
Maquinas de turing
Maquina de turing
06 - Arrays y matrices en lenguaje C
03 - Cadenas en Python 3
Máquinas de turing
Funcion del lex
Tipos de maquina de turing
Sesion1 Php Basico
Introducción a la programación en Python
Reny Galaviz Web Quest
Bibliotecas o libreria de c++
Tema7 dinamicas
Tecnicas de Blind-Mysql-Injection
Cadena De Caracteres_adrian
Matlab 2
Librerias de C++
Comenzando a programar
Publicidad

Similar a Clase De Colas (20)

DOCX
Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)
PPTX
Diapositiva de l estructura de datos
PPTX
Pilas, colas, y listas estructura de datos
PDF
PPTX
PPT sesión 10. Universidad Católica de Trujillo
PPTX
Proyecto estructura
PPT
Algoritmos y Estructura de Datoa, aplicación colas
PPTX
Colas en programacion
PPT
Estructura de datos.vrb
PPT
Estructura de datos.vrb
PPT
Estructura de datos.vrb
PPT
Estructura de datos.vrb
PPTX
Programación 3: colas
PPT
Presentacion De Cola
PPT
Presentacion De Cola
PPT
Presentacion De Cola
PPTX
Pilas y colas
PPT
Estructuras dinámicas
PPTX
Lista, pilas y colas
PPTX
Lista, pilas y colas
Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)
Diapositiva de l estructura de datos
Pilas, colas, y listas estructura de datos
PPT sesión 10. Universidad Católica de Trujillo
Proyecto estructura
Algoritmos y Estructura de Datoa, aplicación colas
Colas en programacion
Estructura de datos.vrb
Estructura de datos.vrb
Estructura de datos.vrb
Estructura de datos.vrb
Programación 3: colas
Presentacion De Cola
Presentacion De Cola
Presentacion De Cola
Pilas y colas
Estructuras dinámicas
Lista, pilas y colas
Lista, pilas y colas
Publicidad

Último (20)

PDF
Metodologías Activas con herramientas IAG
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
DOCX
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Atencion prenatal. Ginecologia y obsetricia
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PPTX
Doctrina 1 Soteriologuia y sus diferente
Metodologías Activas con herramientas IAG
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Atencion prenatal. Ginecologia y obsetricia
TOMO II - LITERATURA.pd plusenmas ultras
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PLANES DE área ciencias naturales y aplicadas
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
Híper Mega Repaso Histológico Bloque 3.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Doctrina 1 Soteriologuia y sus diferente

Clase De Colas

  • 1. PROF. MARÍA A. GARCÍA C O L A
  • 2. PROF. MARÍA A. GARCÍA COLA 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. 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, debido a su comportamiento.
  • 3. PROF. MARÍA A. GARCÍA COLA 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, debido al funcionamiento de las colas, también deberemos mantener un puntero para el último elemento de la cola, que será el punto donde insertemos nuevos nodos. 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.
  • 4. PROF. MARÍA A. GARCÍA APLICACIONES Una aplicación en la que las colas figuran como estructura de datos prominente es la simulación por computadora de situaciones del mundo real. Las colas también se utilizan en muchas maneras en los sistemas operativos para planificar el uso de los distintos recursos de la computadora. Uno de estos recursos es el propio CPU. Si está trabajando en un sistema multiusuario, cuando le dice a la computadora que ejecute un programa concreto, el sistema operativo añade su petición a su “cola de trabajo”. Cuando su petición llega al frente de la cola, el programa solicitado pasa a ejecutarse. Igualmente las colas se utilizan para asignar tiempo a los distintos usuarios de los dispositivos de entrada/salida (E/S), impresoras, discos y demás. El sistema operativo mantiene colas para peticiones de imprimir, leer o escribir en cada uno de estas dispositivos.
  • 5. PROF. MARÍA A. GARCÍA Para añadir en la cola con gestión de memoria estática debemos hacer lo siguiente: Verificar que la cola no esté llena Incrementamos a último Insertamos el valor en el vector Para leer en la cola con gestión de memoria estática debemos hacer lo siguiente: Verificar que la cola no esté vacía Incrementamos a primero Mostramos el valor desde el vector. MEMORIA ESTÁTICA
  • 6. PROF. MARÍA A. GARCÍA MEMORIA ESTÁTICA
  • 7. PROF. MARÍA A. GARCÍA MEMORIA ESTÁTICA
  • 8. PROF. MARÍA A. GARCÍA OPERACIONES BÁSICAS DE UNA COLA Añadir: Inserta un elemento al final de la cola. Leer: Lee y elimina un elemento del principio de la cola. Ambas operaciones se realizan tanto para la gestión de memoria dinámica como para la gestión de memoria estática.
  • 9. PROF. MARÍA A. GARCÍA INSERCIÓN MEMORIA DINÁMICA Las operaciones con colas son muy sencillas, prácticamente 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 muy simple, bastará con que: nodo->siguiente apunte a NULL. Y que los punteros primero y ultimo apunten a nodo.
  • 10. PROF. MARÍA A. GARCÍA INSERCIÓN MEMORIA DINÁMICA Añadir elemento en una cola no vacía: 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: Hacemos que nodo->siguiente apunte a NULL. Después que ultimo->siguiente apunte a nodo. Y actualizamos ultimo, haciendo que apunte a nodo.
  • 11. PROF. MARÍA A. GARCÍA ELIMINAR MEMORIA DINÁMICA Leer un elemento en una cola con más de un elemento: Usaremos un puntero a un nodo auxiliar: Hacemos que nodo apunte al primer elemento de la cola, es decir a primero. Asignamos a primero la dirección del segundo nodo de la pila: primero->siguiente. Guardamos el contenido del nodo para devolverlo como retorno, recuerda que la operación de lectura en colas implican también borrar. Liberamos la memoria asignada al primer nodo, el que queremos eliminar.
  • 12. PROF. MARÍA A. GARCÍA ELIMINAR MEMORIA DINÁMICA Leer un elemento en una cola con un solo elemento: También necesitamos un puntero a un nodo auxiliar: Hacemos que nodo apunte al primer elemento de la pila, es decir a primero. Asignamos NULL a primero, que es la dirección del segundo nodo teórico de la cola: primero->siguiente. Guardamos el contenido del nodo para devolverlo como retorno, recuerda que la operación de lectura en colas implican también borrar. Liberamos la memoria asignada al primer nodo, el que queremos eliminar. Hacemos que ultimo apunte a NULL, ya que la lectura ha dejado la cola vacía.
  • 13. PROF. MARÍA A. GARCÍA INTERPRETA MI MENSAJE Estaba un día muy y luego paso un gran amig@ y me dijo no estés hoy es un día agradable como para estar me cuenta un chiste que me muero de la , y le dije gracias con un eres muy amable.