Tecnología

Inicio

Cómo detectar una circularidad en una lista enlazada en Java

El lenguaje de programación Java contiene muchas estructuras de datos incorporadas, tales como tablas hash y lista enlazada. Sin embargo, puede que le resulte útil para poner en práctica su propio tipo específico de estructura de datos en función de sus necesidades. Debido a esto que a menudo se desee crear sus propios métodos para definir la funcionalidad de la estructura de datos. Aunque la construcción de una lista enlazada es posible que desee determinar si o no la lista es circular. Una lista circular es uno en el que el final de la lista se refiere de nuevo al principio de la lista. Comprobación de esto es tan simple como navegar por la lista y determinar si es o no regresa al principio de la lista.

Instrucciones

1 Crear una función para verificar si hay lista de circularidad. Esta función devolverá "true" si la lista es circular, y "falso" de otra manera. Definir esta función dentro de la clase de lista:

LL clase {

isCircular public boolean () {
}
}

2 Crear un bucle con la función para recorrer la lista. El bucle se iniciará en la cabecera de la función, y pasar por cada nodo de la lista entera, representada por el tipo de datos "nodo", hasta llegar a "nulo" (al final de la lista):

isCircular public boolean () {

Nodo actual = head.next; // Comienza en el nodo siguiente el nodo principal

mientras que (actual! = null) {
}
}

3 Utilizar el bucle para comprobar cada nodo de la lista. Si el nodo actual es el nodo principal, lo que significa que el bucle ha atravesado toda la lista y terminó de vuelta en el principio, lo que significa que la lista es circular. Si el bucle realiza un valor "nulo" la lista no es circular:

isCircular public boolean () {

Nodo actual = head.next; // Comienza en el nodo siguiente el nodo principal

mientras que (actual! = null) {
si (== cabeza actual) {
return true;
}
falso retorno;
}
}

Consejos y advertencias

  • Este ejemplo no pretende ser una aplicación perfecta de una lista enlazada circular o cómo comprobarlo, sino más bien como un proyecto original.