En länkad lista är en av de primära typer av datastrukturer i planeringen världen . Det är ett arrangemang av noder, som innehåller både data och referenser som pekar till nästa nod . Om du vill sortera en länkad lista i Java , det finns en länkad lista klass som arbetar med samlingar ramverk som implementerar algoritmer som sortering . Instruktioner
Sortera en länkad lista i Java
1
Deklarera den länkade listan genom att skapa en ny LinkedList objekt och tilldela det till en LinkedList variabel . LinkedList ärver från den generiska List klassen , så någon metod som accepterar en lista också kommer att acceptera en LinkedList objekt . " " LinkedList L = ny LinkedList ( ) ; " "
2
Lägg till objekt av samma typ ( t.ex. heltal ) till listan . Dessa kan vara föremål av något slag , men för att sortera en länkad lista , bör de vara av samma typ för . Addera 3
Använd List.addFirst metoden att infoga nya objekt till början av listan , så att oavsett objekt som du lägger till kommer att vara i omvänd ordning . Om du vill lägga till dem i slutet av listan , använd List.addLast metoden " " list.addFirst ( 1 ) , list.addFirst ( 3 ) , list.addFirst ( 2 ) , " . "
4
Använd en iterator för att iterera över listan och skriva ut dem innan och efteråt för att se vad slags metoden gör . " " för ( Iterator i = list.iterator ( ) ; i.hasNext ( ) ; ) { System.out.println ( i.next ( ) ) ;} " "
Sortera med standardinställningar och Custom Comparators
5
sortera listan med förvalda jämförelsegruppen . En komparator är ett objekt som jämför två objekt. Standardinställningen komparator objektet använder mindre än operatören , så listan kommer att sorteras i stigande ordning . För att sortera listan , använd Collections.sort statiska metoden " " Collections.sort ( lista ) , " . "
6
sortera listan med en anpassad komparator genom att skriva en klass som implementerar komparatorn gränssnittet och övergår till en instans som ett argument för att sortera . Den klass som implementerar komparator bara har att genomföra den enda metoden " jämför ". " " public class GreaterThan implementerar Komparator { @ Overridepublic int jämföra ( Objekt arg0 , Object arg1 ) { int x = ( Integer ) arg0 , int y = ( heltal) arg1 , if ( x > y ) {return -1 ;} else if ( x == y ) {return 0; } else {return 1 ;} } } " "
7
Använd uppmaningen att Collections.sort genom att en ny instans till GreaterThan som ett andra argument . Eftersom objekt som är större kommer att sorteras först , kommer listan att sorteras i fallande ordning i stället för stigande ordning . Som ett alternativ , om du sorterar en lista med objekt i en egen klass som du har skrivit själv , kan den klassen implementera Jämförbar gränssnitt istället för att använda en separat Comparator klass . " " Collections.sort ( lista , ny GreaterThan ( ) ) ; " " Addera