En lenket liste er en av de viktigste typer datastrukturer i programmering verden . Det er et arrangement av noder som inneholder både data og referanser som peker til den neste noden. Hvis du vil sortere en lenket liste i Java , er det en lenket liste klasse som arbeider med samlinger rammeverk som implementerer algoritmer som sortering . Instruksjoner
sortere en lenket liste i Java
en
Erklærer lenket liste ved å opprette en ny LinkedList objekt og gi det en LinkedList variabel . LinkedList arver fra den generiske List klasse, så noen metode som godtar en liste godtar også LinkedList objekt. " " LinkedList l = new LinkedList (); " "
2
Legg objekter av samme type (for eksempel heltall ) til listen. Disse kan være gjenstander av noe slag, men for å sortere en lenket liste , bør de være av av samme type .
3
Bruk List.addFirst metode for å sette inn nye objekter til begynnelsen av listen , slik at uansett hva slags gjenstander legge vil være i motsatt rekkefølge . Hvis du ønsker å legge dem til på slutten av listen, bruker List.addLast metoden " " list.addFirst ( 1 ) ; list.addFirst ( 3 ) ; list.addFirst ( 2 ), " . "
4
Bruk en iterator å iterere over listen , og skrive dem ut før og etterpå for å se hva slags metode gjør. " " for ( Iterator i = list.iterator (); i.hasNext (); ) { System.out.println ( i.next ( )); } " "
Sorter etter Standard og Custom Comparators
5
Sorter listen med standard komparator. En sammenlignende er et objekt som sammenligner to objekter . Standard komparator objektet bruker mindre enn operatøren , slik at listen vil bli sortert i stigende rekkefølge. Hvis du vil sortere listen , bruker Collections.sort statiske metoden " " Collections.sort (liste ) ; " . "
6
Sorter listen med en egendefinert komparator ved å skrive en klasse som implementerer komparator grensesnitt og går til det en forekomst som et argument for å sortere . Den klassen som implementerer komparator har bare å implementere enkelt metode " sammenligne ". " " public class Større enn implementerer Comparator { @ Overridepublic int sammenligne ( Object arg0 , Objekt arg1 ) { int x = (heltall ) arg0 ; int y = ( heltall) arg1 ; if ( x> y) {return -1 ;} else if ( x == y) {return 0 ; } else {return 1 ;} } } " "
7
Bruk kallet til Collections.sort ved å sende en ny forekomst til Større enn som et annet argument . Siden objekter som er større blir sortert først , vil listen bli sortert i synkende rekkefølge i stedet for stigende rekkefølge. Som et alternativ , hvis du sorterer en liste over objekter av en egendefinert klasse du har skrevet selv, kan den klassen implementere Sammenlignbare grensesnitt i stedet for å bruke en separat Comparator klasse. " " Collections.sort (liste , ny Større enn ( ) ) ; " "