En sammenkædet liste er en af de primære typer af datastrukturer i programmeringen verden. Det er et arrangement af knudepunkter , som indeholder både data og referencer peger på den næste node . Hvis du vil sortere en linket liste i Java , er der en linket liste klasse, der arbejder med Samlinger rammer, der implementerer algoritmer som sortering . Instruktioner
Sortere en linket liste i Java
1
Erklær linkede liste ved at oprette en ny LinketListe objekt og tildele den til en LinketListe variabel . LinketListe arver fra den generiske List klassen, så enhver metode, der accepterer en liste vil også acceptere en LinketListe objekt. "" LinketListe l = new LinkedList (); ""
2
Tilføj objekter af samme type ( såsom heltal ) til listen. Disse kan være objekter af nogen art , men for at sortere en sammenkædet liste, bør de være af alle de samme type.
3
Brug List.addFirst metode til at indsætte nye objekter begyndelsen af listen , således at uanset objekter, du tilføjer , vil være i den omvendte rækkefølge. Hvis du ønsker at tilføje dem til slutningen af listen , brug List.addLast metode "" list.addFirst (1), list.addFirst (3), list.addFirst (2) , " . "
4
Brug et Iterator til at gentage over listen , og udskrive dem før og bagefter at se, hvad den slags metode gør. "" for ( Iterator i = list.iterator (); i.hasNext (); ) { System.out.println ( i.next ()); } ""
Sorter Brug Standard og Brugerdefineret Komparatorer
5
sortere listen med standard komparator. En komparator er et objekt , der sammenligner to objekter . Standarden komparator objektet bruger mindre end operatøren , så listen vil blive sorteret i stigende rækkefølge. Vil sortere listen , skal du bruge Collections.sort statiske metode "" Collections.sort (liste ) " . "
6
sortere listen med en brugerdefineret komparator ved at skrive en klasse, der implementerer komparator grænsefladen og passerer det et eksempel som et argument for at sortere . Den klasse, der implementerer komparator kun at gennemføre enkelt metode " sammenligne ". "" public class Større end implementerer Comparator { @ Overridepublic int sammenligne ( Object arg0 , Object arg1 ) { int x = ( Integer ) arg0 , int y = ( heltal) arg1 , hvis ( x> y) {return -1 ;} else if (x == y) {return 0 ;} else { return 1 ;} }} ""
7
Brug opfordring til Collections.sort ved at bestå en ny instans til Større end som et andet argument. Da objekter , der er større vil blive sorteret først , vil listen blive sorteret i faldende rækkefølge i stedet for stigende rækkefølge. Som et alternativ , hvis du sortere en liste af genstande af en brugerdefineret klasse du har skrevet dig selv, kan denne klasse implementere Sammenlignelige brugerflade i stedet for at bruge en separat Comparator klasse. "" Collections.sort (liste , ny Større end () ) ""