Hola a todos, hoy os dejo la implementación de la cola dinámica en Java.
Una cola es una estructura dinámica que agrupa elementos como si fuera una cola, por ejemplo una fila de personas. Haciendo que cada vez que se mete un elemento este se añada a la última posición.
Utiliza FIFO (First Input First Output) que significa que el primero que entra es el primero que saldrá. Imagina la fila de personas en un cine por ejemplo.
Esta cola se ha realizado en vídeo en nuestro canal de Youtube.
Aquí os dejo el código:
Nodo
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
/** * Clase Nodo * @author DiscoDurodeRoer * @param */ public class Nodo //Atributos private T elemento; private Nodo //Contructor public Nodo(T elemento, Nodo this.elemento = elemento; this.siguiente = siguiente; } //Metodos public T getElemento() { return elemento; } public void setElemento(T elemento) { this.elemento = elemento; } public Nodo return siguiente; } public void setSiguiente(Nodo this.siguiente = siguiente; } @Override public String toString() { return elemento+"\n"; } } |
Cola dinamica
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
/** * Cola Dinamica * @author DiscoDurodeRoer * @param */ public class ColaDinamica //Atributos private Nodo private Nodo private int tamanio; public ColaDinamica() { primero = null; ultimo = null; tamanio = 0; } /** * Indica si la cola esta vacia * @return */ public boolean isEmpty() { return primero == null; } /** * Indica el tamaño de la cola * @return */ public int size() { return tamanio; } /** * Devuelve el primer elemento en la cola * @return */ public T primero() { if (isEmpty()) { return null; } return primero.getElemento(); } /** * Elimina y devuelve el primer elemento de la cola * @return */ public T dequeue() { if (isEmpty()) { return null; } T elemento = primero.getElemento(); Nodo primero = null; primero = aux; tamanio--; if (isEmpty()) { ultimo = null; } return elemento; } /** * Añade un nuevo elemento a la cola * @param elemento * @return */ public T enqueue(T elemento) { Nodo if (isEmpty()) { primero = aux; ultimo = aux; } else { if (size() == 1) { primero.setSiguiente(aux); } else { ultimo.setSiguiente(aux); } ultimo = aux; } tamanio++; return aux.getElemento(); } /** * Muestra el contenido * @return */ public String toString() { if (isEmpty()) { return "La lista esta vacia"; } else { String cadena = ""; Nodo while (aux != null) { cadena += aux; aux = aux.getSiguiente(); } return cadena; } } } |
Lo podéis descargar directamente desde aquí.
También os dejo el vídeo donde lo hacemos de cero.
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta