Entradas

ELIMINAR UN NODO ESPECÍFICO

Imagen
 En este último articulo veremos como borrar el nodo que queramos. el procedimiento es igual a los anteriores de nodos. Creamos un método de tipo public void  borrarEspecifico .   Este contendrá como argumento una variable entera elemento . Aquí se crea un if que evalúa que el método estarVacia (evalúa si la lista está vacía) no sea true.  Luego una doble condición si inicio == fin  y elemento == inicio.dato (puntero inicio y dato de la clase Nodo). Entonces inicio sera igual a fin y este igual a null. Si no entra alli, entonces elemento == inicio.dato e inicio pasará al siguiente nodo. Si no se cumple, el nodo anterior pasará a ser igual a inicio y temporal al siguiente. Luego crear un while donde evalúe si temporal es diferente de null y el dato que contiene temporal es diferente de elemento. Le asigna a anterior el siguiente y a temporal el siguiente. Entonces va avanzando. Por último evaluar con un if si temporal es diferente de null, se le asigna ...

ELIMINAR UN NODO DEL FINAL

Imagen
Luego del articulo de  ELIMINAR UN NODO DEL INICIO ,  ahora toca hacerlo al final.  El procedimiento es el mismo: Crear un método, añadirlo al procedimiento de la clase principal, seleccionar el case asignado en el switch y correr el programa. Crear un método de tipo public int. En este caso lo nombramos como borrarDelFinal . Dentro declarar una variable de tipo entero elemento  que sera igual a fin.dato (puntero fin y dato de la clase Nodo). Crear un if para evaluar la condición: Si inicio == fin, entonces inicio se le asigna el fin y este a nulo. Si no, creamos un Nodo temporal que será igual a inicio. Y creamos un while con  la  condición que temporal.siguiente sea diferente de fin, entonces temporal se le asigna temporal.siguiente (el siguiente nodo). Fin será igual a temporal, por lo tanto fin.siguiente será nulo. Y por último retornamos el elemento . Añadimos al procedimiento de la clase principal para identificarlo. Agregar el caso 5 al swi...

ELIMINAR UN NODO DEL INICIO

Imagen
  En este artículo veremos como eliminar un nodo del final de la lista.  Lo primero es crear un método publico de tipo int. En este caso borrarDelInicio . Dentro crear una variable entera elemento que sera igual inicio.dato (puntero inicio y dato de la clase Nodo). Crear un if para evaluar la condición: Si inicio == fin, entonces el inicio seria null. Y fin seria null. Si no, sale y asigna inicio = inicio.siguiente (pasaría al siguiente nodo). Y retorna el elemento. Añadimos a la clase principal al menú de opciones, el método  que acabamos de realizar. Agregar el caso 4 al switch. En la variable el llamamos al objeto impLista junto al método borrarDelInicio. Y concantenamos un mensaje + la variable el . Imprimir en pantalla la opción para  muestre la lista.  Ahora seleccionamos la opción para eliminar el del inicio . Seleccionado la opción que creamos en el switch, nos despliega el mensaje que ha borrado el elemento y muestra que elemento es. Volviendo a mostra...

LISTAS ENLAZADAS

Imagen
  QUE ES UNA LISTA ENLAZADA ? Es una colección o secuencia de elementos dispuestos uno destrás  de otro, en la que cada elemento se conecta al siguiente elemento y puede ser usada para implementar otras estructuras de datos. EN QUE CONSISTE UNA LISTA ENLAZADA? Consiste en una secuencias de nodos, en los que se guardan elementos arbitrarios   y una  o dos referencias,enlaces o punteros al nodo anterior o siguiente.   QUE ES ELEMENTO ARBITRARIO? Es una referencia a un metodo de instancia de algun tipo. EJEMPLO DE LA SECUENCIA DE UNA LISTA ENLAZADA   Estructura de una lista enlazada El elemento principal es NODO El nodo se compone de lo siguiente: Informacion este puede ser : Dato o Info Referencia este puede ser: Enlace siguiente.                              CLASIFICACION DE LISTAS ENLAZADAS Listas Simples enlazadas. Listas doblemente enlazadas. Lista Circulares si...

RECURSIVIDAD: COMPARATIVA RECURSIVIDAD VS BUCLE

Imagen
En este ocasión presentamos un mismo ejercicio, pero realizado de dos maneras: bucle y recursiva . En el anterior post de Recursividad , se mencionaba que una de las características que favorecía el usar esta técnica es que proporciona un código mas corto, y soluciones que mediante bucle no serían posibles o muy difíciles.   A continuación se describe paso a paso un ejemplo con Factorial de un número de ambas formas: EJEMPLO Para este ejercicio no necesitamos importar ninguna librería . Creamos la clase principal, en este caso TDARecursividad2 . Dentro del main , creamos un objeto de la clase, aquí le hemos asignado objFactorial. Crear dos mensajes para mostrar en consola:     - Uno para mostrar el factorial mediante bucle.     - Uno para mostrar el factorial mediante recursividad. Concatenar al mensaje el objeto seguido del método que vamos a mostrar, y como argumento debe contener un número. MEDIANTE BUCLE Creamos un método de ...

RECURSIVIDAD

Imagen
  ¿Qué es la recursividad? Es una técnica que  permite que un bloque de código, función se llame a si mismo. Puede ejecutarse el numero de veces que nosotros queramos. Es usado para simplificar las lineas de código que se desean escribir, o también porque algunos problemas no pueden ser resueltos con una iteracion o bucles. EJEMPLO El siguiente ejemplo sencillo es para observar como funciona la recursividad en Java. Importar la librería   java.util.logging.Logger . Importar la librería  java.util.logging.Level . Crear una clase, que en este caso llamado  TDARecursividad. Dentro del main , crear un objeto de la clase. En este caso llamado objEsc . Creamos un método de tipo public void, en este caso el nombre es bajarEscalera , que recibe como argumento una variable de tipo int llamada escalones. Luego, un if que indique si escalones es menor a cero, que imprima mediante consola  el mensaje "No hay escalones para bajar". Si...

MEMORIA DINÁMICA

Imagen
¿Qué es la memoria dinámica?                                                                                                                        Un espacio de memoria el cual  puede variar mientras se ejecuta el programa. Cuanta más memoria se necesite, más se le solicita al sistema operativo. Usaremos la librería   java.util.ArrayList   Los diferentes métodos disponibles para la librería que vamos a utilizar son los siguientes: add: Permite agregar un elemento al array. get: Devuelve el elemento en el índice que le hayamos indicado. set: Inserta o sustituye un elemento en el array. remove: Borra un elemento del...