Uma lista ligada é um dos principais tipos de estruturas de dados no mundo da programação. É um arranjo de nós que contém os dados e referências que apontam para o próximo nó . Para ordenar uma lista ligada em Java , há uma classe lista ligada que funciona com o quadro coleções que implementa algoritmos como classificação. Instruções
Classificar uma lista ligada em Java
1
Declare a lista ligada com a criação de um novo objeto LinkedList e atribuí-la a uma variável LinkedList . LinkedList herda da classe genérica List , portanto, qualquer método que aceita uma lista também aceitará um objeto LinkedList . " " LinkedList l = new LinkedList (); " "
2
Adicione objetos do mesmo tipo (como inteiros) para a lista. Estes podem ser objetos de qualquer tipo , mas , a fim de classificar uma lista ligada , eles devem estar de todos do mesmo tipo.
3
Use o método List.addFirst inserir novos objetos para o início da lista , de forma que quaisquer objetos que você adicione estarão na ordem inversa . Se você quiser adicioná-los ao final da lista , use o método List.addLast " " list.addFirst (1); list.addFirst (3); list.addFirst (2); " ".
4
Use um Iterator para iterar sobre a lista , e imprimi-los antes e depois de ver o que o método de classificação está fazendo. " " for ( Iterator i = list.iterator (); i.hasNext (); ) { System.out.println ( i.next ()); } " "
Ordenar Usando Padrão e comparadores personalizados
5
Classificar a lista com o comparador padrão. Um comparador é um objeto que compara dois objetos . O objeto de comparação padrão usa o operador menor que , por isso, a lista será classificada em ordem crescente . Para classificar a lista , use o método estático Collections.sort " " Collections.sort (lista ), " . "
6
Classificar a lista com um comparador personalizado escrevendo uma classe que implementa a interface de comparação e passa para ele uma instância como um argumento para classificar. A classe que implementa comparador só tem que implementar o método single " comparar ". " " public class GreaterThan implementa Comparator { @ Overridepublic int compare ( arg0 Object, arg1 Object) {int x = ( Integer) arg0 , int y = ( Integer) arg1 , se (x > y ) {return -1 ;} else if (x == y) {return 0;} else { return 1; }}} " "
7
Use a chamada para Collections.sort passando uma nova instância para GreaterThan como um segundo argumento. Desde objetos que são maiores serão classificados em primeiro lugar, a lista será classificada em ordem decrescente em vez de ordem crescente. Como alternativa , se você estiver ordenar uma lista de objetos de uma classe personalizada que você escreveu mesmo, essa classe pode implementar a interface Comparable em vez de usar uma classe Comparator separado. " " Collections.sort (lista, novo GreaterThan () ); " "