Código e Implementación » History » Version 14
Cesar Jimenez, 09/24/2023 04:04 AM
| 1 | 1 | Cesar Jimenez | h1. ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤWikipedia |
|---|---|---|---|
| 2 | 1 | Cesar Jimenez | |
| 3 | 1 | Cesar Jimenez | |
| 4 | 1 | Cesar Jimenez | !logoPRO.png! |
| 5 | 1 | Cesar Jimenez | |
| 6 | 1 | Cesar Jimenez | |
| 7 | 1 | Cesar Jimenez | ---- |
| 8 | 1 | Cesar Jimenez | |
| 9 | 1 | Cesar Jimenez | +*Grupo A:*+ |
| 10 | 1 | Cesar Jimenez | > Integrantes: Cristian Sánchez, Jean Pier Duran, Sergio Rabanal, Valentina Álvarez, César Jiménez |
| 11 | 1 | Cesar Jimenez | > Nombre del Producto: Machine EV3 G |
| 12 | 1 | Cesar Jimenez | > Modulo: Proyecto I |
| 13 | 1 | Cesar Jimenez | > Docente: Humberto Urrutia |
| 14 | 1 | Cesar Jimenez | > Fecha de Inicio: 2023-08-14 |
| 15 | 1 | Cesar Jimenez | > Fecha de Termino: 2023-11-30 |
| 16 | 1 | Cesar Jimenez | |
| 17 | 1 | Cesar Jimenez | ---- |
| 18 | 1 | Cesar Jimenez | |
| 19 | 1 | Cesar Jimenez | *ㅤㅤㅤㅤㅤㅤㅤÍndice:* |
| 20 | 1 | Cesar Jimenez | * [[Introducción]] |
| 21 | 1 | Cesar Jimenez | * [[Descripción y Objetivos]] |
| 22 | 1 | Cesar Jimenez | * [[Organización y Planificación]] |
| 23 | 1 | Cesar Jimenez | * [[Análisis y Diseño]] |
| 24 | 1 | Cesar Jimenez | * [[Código e Implementación]] |
| 25 | 2 | Cesar Jimenez | * [[Bibliografía]] |
| 26 | 3 | Cesar Jimenez | |
| 27 | 11 | Cesar Jimenez | h1. ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤInsertar Código del Proyecto |
| 28 | 3 | Cesar Jimenez | |
| 29 | 5 | Cesar Jimenez | <pre><code class="ruby"> |
| 30 | 14 | Cesar Jimenez | public class Main{ |
| 31 | 14 | Cesar Jimenez | public static void main(String[] args){ |
| 32 | 14 | Cesar Jimenez | System.out.println("te sigo queriendo como el primer dia"); |
| 33 | 14 | Cesar Jimenez | ListaDobleEnlace<Integer> numeros = new ListaDobleEnlace<>(); |
| 34 | 14 | Cesar Jimenez | numeros.insertar_al_inicio(10); |
| 35 | 14 | Cesar Jimenez | numeros.insertar_al_inicio(6); |
| 36 | 14 | Cesar Jimenez | numeros.insertar_al_inicio(3); |
| 37 | 14 | Cesar Jimenez | numeros.insertar_al_inicio(2); |
| 38 | 14 | Cesar Jimenez | numeros.insertar_al_inicio(-1); |
| 39 | 14 | Cesar Jimenez | numeros.imprimir(); |
| 40 | 14 | Cesar Jimenez | |
| 41 | 14 | Cesar Jimenez | System.out.println("\n Tamaño de la Lista: "+numeros.size()); |
| 42 | 14 | Cesar Jimenez | |
| 43 | 14 | Cesar Jimenez | numeros.insertar_al_final(15); |
| 44 | 14 | Cesar Jimenez | numeros.insertar_al_final(20); |
| 45 | 14 | Cesar Jimenez | numeros.imprimir(); |
| 46 | 14 | Cesar Jimenez | |
| 47 | 14 | Cesar Jimenez | System.out.println("\nTamaño de la Lista: "+numeros.size()); |
| 48 | 1 | Cesar Jimenez | |
| 49 | 14 | Cesar Jimenez | System.out.println("\nContiene el numero: "+numeros.contiene(6)); |
| 50 | 14 | Cesar Jimenez | |
| 51 | 14 | Cesar Jimenez | System.out.println("\nElemento en la posicion 6 es: "+numeros.obtener_elemento(6)); |
| 52 | 14 | Cesar Jimenez | |
| 53 | 14 | Cesar Jimenez | numeros.eliminar_en_posicion(5); |
| 54 | 14 | Cesar Jimenez | numeros.imprimir(); |
| 55 | 14 | Cesar Jimenez | |
| 56 | 14 | Cesar Jimenez | |
| 57 | 14 | Cesar Jimenez | |
| 58 | 14 | Cesar Jimenez | } |
| 59 | 14 | Cesar Jimenez | } |
| 60 | 1 | Cesar Jimenez | |
| 61 | 14 | Cesar Jimenez | class Nodo<E>{ |
| 62 | 14 | Cesar Jimenez | E info; |
| 63 | 14 | Cesar Jimenez | Nodo<E> sgte; |
| 64 | 14 | Cesar Jimenez | Nodo<E> prev; |
| 65 | 14 | Cesar Jimenez | public Nodo(Nodo<E> prev,E info,Nodo<E> sgte){ |
| 66 | 14 | Cesar Jimenez | this.prev = prev; |
| 67 | 14 | Cesar Jimenez | this.info = info; |
| 68 | 14 | Cesar Jimenez | this.sgte = sgte; |
| 69 | 1 | Cesar Jimenez | } |
| 70 | 14 | Cesar Jimenez | } |
| 71 | 1 | Cesar Jimenez | |
| 72 | 14 | Cesar Jimenez | class ListaDobleEnlace<E>{ |
| 73 | 14 | Cesar Jimenez | Nodo<E> cabecera; |
| 74 | 14 | Cesar Jimenez | int size = 0; |
| 75 | 14 | Cesar Jimenez | public ListaDobleEnlace(){ |
| 76 | 14 | Cesar Jimenez | this.cabecera = new Nodo<>(null,null,null); |
| 77 | 14 | Cesar Jimenez | cabecera.sgte = cabecera; |
| 78 | 14 | Cesar Jimenez | cabecera.prev = cabecera; |
| 79 | 14 | Cesar Jimenez | } |
| 80 | 14 | Cesar Jimenez | |
| 81 | 14 | Cesar Jimenez | public void insertar_al_inicio(E valor){ |
| 82 | 14 | Cesar Jimenez | Nodo<E> antiguoSiguiente = cabecera.sgte; |
| 83 | 14 | Cesar Jimenez | Nodo<E> nuevoNodo = new Nodo<>(cabecera,valor,antiguoSiguiente); |
| 84 | 14 | Cesar Jimenez | cabecera.sgte = antiguoSiguiente.prev = nuevoNodo; |
| 85 | 14 | Cesar Jimenez | |
| 86 | 14 | Cesar Jimenez | size ++; |
| 87 | 14 | Cesar Jimenez | } |
| 88 | 14 | Cesar Jimenez | |
| 89 | 14 | Cesar Jimenez | public void insertar_al_final(E valor){ |
| 90 | 14 | Cesar Jimenez | Nodo<E> antiguoFinal = cabecera.prev; |
| 91 | 14 | Cesar Jimenez | Nodo<E> nuevoNodo = new Nodo<>(antiguoFinal,valor,cabecera); |
| 92 | 14 | Cesar Jimenez | cabecera.prev = antiguoFinal.sgte = nuevoNodo; |
| 93 | 14 | Cesar Jimenez | |
| 94 | 14 | Cesar Jimenez | size++; |
| 95 | 14 | Cesar Jimenez | } |
| 96 | 14 | Cesar Jimenez | |
| 97 | 14 | Cesar Jimenez | public void insertar_en_posicion(E valor,int k){ |
| 98 | 14 | Cesar Jimenez | Nodo<E> temp = cabecera.sgte; |
| 99 | 14 | Cesar Jimenez | int cont = 1; |
| 100 | 14 | Cesar Jimenez | while(temp != cabecera){ |
| 101 | 14 | Cesar Jimenez | if(cont == k){ |
| 102 | 14 | Cesar Jimenez | break; |
| 103 | 14 | Cesar Jimenez | } |
| 104 | 14 | Cesar Jimenez | cont++; |
| 105 | 14 | Cesar Jimenez | temp = temp.sgte; |
| 106 | 14 | Cesar Jimenez | } |
| 107 | 14 | Cesar Jimenez | Nodo<E> nuevoNodo = new Nodo<>(temp.prev,valor,temp); |
| 108 | 14 | Cesar Jimenez | temp.prev.sgte = temp.prev = nuevoNodo; |
| 109 | 14 | Cesar Jimenez | size++; |
| 110 | 14 | Cesar Jimenez | } |
| 111 | 14 | Cesar Jimenez | |
| 112 | 14 | Cesar Jimenez | public void eliminar_al_inicio(){ |
| 113 | 14 | Cesar Jimenez | Nodo<E> temp = cabecera.sgte.sgte; |
| 114 | 14 | Cesar Jimenez | cabecera.sgte = temp; |
| 115 | 14 | Cesar Jimenez | temp.prev = cabecera; |
| 116 | 14 | Cesar Jimenez | size--; |
| 117 | 14 | Cesar Jimenez | } |
| 118 | 14 | Cesar Jimenez | |
| 119 | 14 | Cesar Jimenez | public void eliminar_al_final(){ |
| 120 | 14 | Cesar Jimenez | Nodo<E> temp = cabecera.prev.prev; |
| 121 | 14 | Cesar Jimenez | cabecera.prev = temp; |
| 122 | 14 | Cesar Jimenez | temp.sgte = cabecera; |
| 123 | 14 | Cesar Jimenez | |
| 124 | 14 | Cesar Jimenez | |
| 125 | 14 | Cesar Jimenez | size--; |
| 126 | 14 | Cesar Jimenez | } |
| 127 | 14 | Cesar Jimenez | |
| 128 | 14 | Cesar Jimenez | public void eliminar_en_posicion(int k){ |
| 129 | 14 | Cesar Jimenez | Nodo<E> temp = cabecera.sgte; |
| 130 | 14 | Cesar Jimenez | int cont = 1; |
| 131 | 14 | Cesar Jimenez | while(temp != cabecera){ |
| 132 | 14 | Cesar Jimenez | if (cont == k){ |
| 133 | 14 | Cesar Jimenez | break; |
| 134 | 14 | Cesar Jimenez | } |
| 135 | 14 | Cesar Jimenez | temp = temp.sgte; |
| 136 | 14 | Cesar Jimenez | cont++; |
| 137 | 14 | Cesar Jimenez | } |
| 138 | 14 | Cesar Jimenez | temp.prev.sgte = temp.sgte; |
| 139 | 14 | Cesar Jimenez | temp.sgte.prev = temp.prev; |
| 140 | 14 | Cesar Jimenez | |
| 141 | 14 | Cesar Jimenez | size--; |
| 142 | 14 | Cesar Jimenez | } |
| 143 | 14 | Cesar Jimenez | |
| 144 | 14 | Cesar Jimenez | public E obtener_elemento(int k){ |
| 145 | 14 | Cesar Jimenez | Nodo<E> temp = cabecera.sgte; |
| 146 | 14 | Cesar Jimenez | int cont = 1; |
| 147 | 14 | Cesar Jimenez | while(temp != cabecera){ |
| 148 | 14 | Cesar Jimenez | if (cont == k){ |
| 149 | 14 | Cesar Jimenez | return temp.info; |
| 150 | 14 | Cesar Jimenez | } |
| 151 | 14 | Cesar Jimenez | temp = temp.sgte; |
| 152 | 14 | Cesar Jimenez | cont++; |
| 153 | 14 | Cesar Jimenez | } |
| 154 | 14 | Cesar Jimenez | return null; |
| 155 | 14 | Cesar Jimenez | } |
| 156 | 14 | Cesar Jimenez | |
| 157 | 14 | Cesar Jimenez | public int buscar(E valor){ |
| 158 | 14 | Cesar Jimenez | Nodo<E> temp = cabecera.sgte; |
| 159 | 14 | Cesar Jimenez | int cont = 1; |
| 160 | 14 | Cesar Jimenez | while(temp != cabecera){ |
| 161 | 14 | Cesar Jimenez | if (temp.info.equals(valor)){ |
| 162 | 14 | Cesar Jimenez | return cont; |
| 163 | 14 | Cesar Jimenez | } |
| 164 | 14 | Cesar Jimenez | temp = temp.sgte; |
| 165 | 14 | Cesar Jimenez | cont++; |
| 166 | 14 | Cesar Jimenez | } |
| 167 | 14 | Cesar Jimenez | return -1; |
| 168 | 14 | Cesar Jimenez | } |
| 169 | 14 | Cesar Jimenez | |
| 170 | 14 | Cesar Jimenez | public void vaciar(){ |
| 171 | 14 | Cesar Jimenez | cabecera.prev = cabecera.sgte = cabecera; |
| 172 | 14 | Cesar Jimenez | } |
| 173 | 14 | Cesar Jimenez | |
| 174 | 14 | Cesar Jimenez | public boolean contiene(E valor){ |
| 175 | 14 | Cesar Jimenez | Nodo<E> temp = cabecera.sgte; |
| 176 | 14 | Cesar Jimenez | while(temp != cabecera){ |
| 177 | 14 | Cesar Jimenez | if (valor == temp.info){ |
| 178 | 14 | Cesar Jimenez | return true; |
| 179 | 14 | Cesar Jimenez | } |
| 180 | 14 | Cesar Jimenez | temp = temp.sgte; |
| 181 | 14 | Cesar Jimenez | } |
| 182 | 14 | Cesar Jimenez | return false; |
| 183 | 14 | Cesar Jimenez | } |
| 184 | 14 | Cesar Jimenez | |
| 185 | 14 | Cesar Jimenez | public void imprimir(){ |
| 186 | 14 | Cesar Jimenez | System.out.println(""); |
| 187 | 14 | Cesar Jimenez | Nodo<E> temp = cabecera.sgte; |
| 188 | 14 | Cesar Jimenez | // problema encontrado --> se estaba tomando el valor de null de la cabecera como referencia entonces se metio en un bucle interminable |
| 189 | 14 | Cesar Jimenez | while(temp != cabecera){ |
| 190 | 14 | Cesar Jimenez | System.out.print(temp.info + " <-> "); |
| 191 | 14 | Cesar Jimenez | temp = temp.sgte; |
| 192 | 14 | Cesar Jimenez | } |
| 193 | 14 | Cesar Jimenez | |
| 194 | 14 | Cesar Jimenez | System.out.print("null"); |
| 195 | 14 | Cesar Jimenez | } |
| 196 | 14 | Cesar Jimenez | |
| 197 | 14 | Cesar Jimenez | public int size(){ |
| 198 | 14 | Cesar Jimenez | return size; |
| 199 | 1 | Cesar Jimenez | } |
| 200 | 1 | Cesar Jimenez | } |
| 201 | 1 | Cesar Jimenez | |
| 202 | 1 | Cesar Jimenez | |
| 203 | 1 | Cesar Jimenez | </code></pre> |