La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: COLAS.

Presentaciones similares


Presentación del tema: "UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: COLAS."— Transcripción de la presentación:

1 UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: COLAS Ing. Javier Chamorro Cerón

2 COLAS Respecto de la manipulación de sus elementos responde a la denominación FIFO: First In First Out Esto implica que el primer elemento en entrar será el primero en salir.

3 ¿Por qué? Porque fueron pensadas para mantener y manejar elementos respetando siempre y directamente su orden de llegada. Las colas tienen un punto de inserción de elementos y otro para la extracción de los mismos, y están en extremos opuestos (cabecera–final, frente–fondo, o primero–último). Por aquí entran los elementos Por aquí salen Fondo Frente

4 Ejemplos de Colas Toda aquella organización donde el primero que llegue sea el primero en irse es una cola. Usamos colas diariamente. En el banco, en el cine, esperando un colectivo… ¡A la cola! ¿Esta cola es del que va a Tierra? Así es.

5 Propiedades de una Cola Estados –Vacía –Llena Acciones –Crear/Inicializar –Destruir/Vaciar –Agregar (Elemento) –Extraer (Elemento) –Ver (Elemento) Cabecera

6 A C B Cabecera (la cola vista desde adelante) Funcionamiento de una Cola A A B C A Arrancamos con la cola vacía, sin elementos. En la cabecera no vemos elemento alguno. Ya tenemos un primer elemento agregado a la cola. Podemos ver el elemento A en la cabecera (al frente). Al agregar B, éste queda detrás de A. A, el primer elemento agregado, sigue al frente; B queda oculto e inaccesible. Lo mismo pasa con C, que queda encolado detrás de B. C deberá esperar a que se desencolen A y B para llegar al frente. Al extraer el primer elemento insertado, B pasa al frente. B, ahora, queda en la cabecera, mientras C sigue oculto tras éste, e inaccesible. Podemos seguir así hasta vaciar la cola. Pero, si viniese nuevamente A y lo agregásemos a la cola, ¿en qué posición quedaría? A Quedaría al final, encolado detrás de C.

7 Aclaración Según la gráfica los elementos se mueven hacia el frente de la cola, en la implementación no son los elementos los que se mueven, sino las marcas de cabeza y fin, tal como se puede ver aquí. ABCA Cabeza Fin

8 Búsqueda de elementos Ni las Pilas ni las colas poseen facilidades que posibiliten la búsqueda de elementos contenidos en ellas, pues eso escapa a su funcionalidad: las pilas siempre devuelven el último elemento, y las colas siempre el primero. ¿Cómo generar un código C++ para encontrar algún elemento contenido en estas estructuras, siempre respetando las reglas LIFO y FIFO, según corresponda?

9 Inversión de elementos Dado que pilas y colas manejan sus elementos en forma completamente opuesta, al llevar los elementos de una estructura a la otra para luego volverlos a volcar en la estructura original, como resultado nos quedarán todos los elementos en posiciones inversas a las de origen. ¿Puede comprobarlo?

10 void Enq (string valor){ Nodo *aux; aux = new Nodo (valor, NULL); if (this->fin != NULL){ this->fin->setSig(aux); } this->fin=aux; if (this->cabeza == NULL) this->cabeza = this->fin; }

11 bool Deq (string &valor){ Nodo *aux; if (this->cabeza == NULL) { valor = ""; return (false); } else{ aux = this->cabeza; valor = aux->getValor(); this->cabeza = aux->getSig(); if (this->cabeza == NULL) this->fin = NULL; delete aux; return (true); } } };


Descargar ppt "UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada TIPOS ABSTRACTOS DE DATOS TAD Tema: TIPOS ABSTRACTOS DE DATOS TAD Subtema: COLAS."

Presentaciones similares


Anuncios Google