La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.

Presentaciones similares


Presentación del tema: "Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos."— Transcripción de la presentación:

1 Oscar Bedoya. oscarbed@eisc.univalle.edu.co http://eisc.univalle.edu.co/~oscarbed/Estructuras/ Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos

2 Cola Definición Una cola es un conjunto ordenado de elementos de un tipo base. Los elementos se insertan a la cola por la parte posterior y se sacan por la parte delantera

3 Cola Definición TDA Cola Descripción: El TDA Cola se caracteriza porque el primero en entrar es el primero en salir (Estructura FIFO) Invariante: Cola=(elem, cab, col), elem= л (  i, 0 <= i < n, elem i  Tipo) л elem 0 =col л elem n-1 =cab

4 Cola Operaciones: Cola (Constructor) Meter Sacar Imprimir cola Buscar elemento en la cola Es una cola vacía?

5 Cola A W cola cabecera

6 A W cola cabecera A W cola cabecera X Cola

7 A W cola cabecera X A cola cabecera X Cola

8 Crear cola Al crear una lista, se crean el nodo cola y el nodo cabecera. Ambos tienen como dato null y como siguiente null. cola cabecera Cola

9 Meter( La cola está vacía ) Se crea un nuevo nodo con el dato que se desee colocar y con siguiente null El campo siguiente del nodo cabecera pasa de ser null a ser el nodo que estamos insertado El campo siguiente del nodo cola pasa de ser null a ser el nodo que estamos insertado cola cabecera cola cabecera W Cola

10 Meter( La cola no está vacía ) Se crea un nuevo nodo con el dato que se desee colocar y con siguiente, al siguiente del nodo cabecera El campo siguiente del nodo cabecera pasa de ser null a ser el nodo que estamos insertado cola cabecera W cola cabecera W X Cola

11 Sacar cola cabecera W X cola cabecera X Cola

12 Imprimir datos Cola

13 Está una cola vacía? Cuando la cola está vacía el campo siguiente de la cabecera es null y el campo siguiente de la cola es null cola cabecera Cola

14 Cada nodo se representa por medio de dos campos: Campo dato: contiene el valor del nodo Campo siguiente: indica cuál es el nodo con el que se enlaza class Nodo{ Object dato; Nodo siguiente; Nodo(Object o) { dato=o; siguiente=null; } Nodo(Object o, Nodo n) { dato=o; siguiente=n; } Cola

15 Al crear una lista, se crean el nodo cola y el nodo cabecera. Ambos tienen como dato null y como siguiente null. class Cola{ Nodo cabecera; Nodo cola; Cola() { cabecera=new Nodo(null); cola=new Nodo(null); } Cola

16 Está una cola vacía? Cuando la cola está vacía el campo siguiente de la cabecera es null. El campo siguiente de la cola también es null public boolean estaVacia(){ if (cabecera.siguiente==null) { return true; } else { return false; } Cola

17 Se crea un nuevo nodo con el dato que se desee colocar y con siguiente null El campo siguiente del nodo cabecera pasa de ser null a ser el nodo que estamos insertado El campo siguiente del nodo cola pasa de ser null a ser el nodo que estamos insertado void meter(Object o) { Nodo nuevo=new Nodo(null); if ( estaVacia() ) { nuevo=new Nodo(o); nuevo.siguiente=null; cabecera.siguiente=nuevo; cola.siguiente=nuevo; } Cola

18 Se crea un nuevo nodo con el dato que se desee colocar y con siguiente, al siguiente del nodo cabecera El campo siguiente del nodo cabecera pasa de ser null a ser el nodo que estamos insertado else { nuevo=new Nodo(o); nuevo.siguiente=cabecera.siguiente; cabecera.siguiente=nuevo; } Cola

19 public void sacar() { Nodo borrar=cola.siguiente; if(cabecera.siguiente==cola.siguiente){ cabecera.siguiente=null; cola.siguiente=null; } else{ Nodo aux=cabecera; while( aux.siguiente!=borrar) aux=aux.siguiente; aux.siguiente=null; cola.siguiente=aux; } } Cola


Descargar ppt "Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos."

Presentaciones similares


Anuncios Google