Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porAlfredo Lino Modificado hace 9 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.