Una lista enlazada es uno de los principales tipos de estructuras de datos en el mundo de la programación . Es una disposición de nodos que contiene tanto los datos y referencias que apuntan hacia el siguiente nodo . Para ordenar una lista enlazada en Java , hay una clase de lista enlazada que trabaja con el marco Colecciones que implementa algoritmos como ordenación . Instrucciones
Ordenar una lista enlazada en Java
1
Declarar la lista enlazada mediante la creación de un nuevo objeto LinkedList y asignarlo a una variable enlazada . LinkedList hereda de la clase de lista genérica , por lo que cualquier método que acepta una lista también aceptará un objeto LinkedList . " " L = new LinkedList LinkedList (); " "
2
Agregar objetos del mismo tipo (por ejemplo, números enteros ) a la lista. Estos pueden ser objetos de ningún tipo, pero con el fin de ordenar una lista enlazada , que debe ser de todos del mismo tipo.
3
Use el método List.addFirst para insertar nuevos objetos el principio de la lista , de modo que cualquier objeto se agrega estará en el orden inverso. Si desea agregarlos al final de la lista , utilice el método List.addLast " " list.addFirst ( 1 ) ; list.addFirst ( 3 ) ; list.addFirst ( 2 ), " . "
4
Utilice un iterador para recorrer en iteración la lista, e imprimirlos antes y después de ver lo que está haciendo el método de ordenación . " " por ( Iterator i = list.iterator (); i.hasNext ( ) ) { System.out.println ( i.next ()); } " "
Ordenar uso predeterminado y comparadores Custom
5
Ordenar la lista con el comparador predeterminado. Un comparador es un objeto que compara dos objetos . El objeto comparador predeterminado utiliza el operador menor que , por lo que la lista se ordenará en orden ascendente. Para ordenar la lista , utilice el método estático Collections.sort " " Collections.sort ( lista ), " . "
6
Ordenar la lista con un comparador personalizado escribiendo una clase que implementa la interfaz comparador y pasa a ella una instancia como un argumento para ordenar. La clase que implementa comparador sólo tiene que poner en práctica el método " comparar ". " " public class GreaterThan implementa Comparador {@ Overridepublic int compare (Object arg0 , arg1 Object ) { int x = ( Integer ) arg0 , int y = ( Integer ) arg1 ; if ( x > y) {return 1; } else if (x == y) {return 0 ; } else {return 1 ;} } } " "
7
Usar el llamado a Collections.sort pasando una nueva instancia en GreaterThan como segundo argumento. Dado que los objetos que son mayores se ordenarán en primer lugar, la lista se ordena en orden descendente en lugar de ascendente . Como alternativa , si estás ordenar una lista de los objetos de una clase personalizada que ha escrito usted mismo, que la clase puede implementar la interfaz Comparable en lugar de utilizar una clase Comparador independiente. " " Collections.sort ( list, new GreaterThan () ) ; " "