Vsebina
- Navodila
- Razvrsti povezani seznam v Javi
- Razvrsti z uporabo privzetih primerjalnih primerjalnikov
- Kako
- Obvestilo
Kako organizirati povezani seznam v Javi. Zaprti seznam je ena glavnih vrst podatkovnih struktur v svetu programiranja. Gre za organizacijo vozlišč, ki vsebuje podatke in reference, ki kažejo na naslednje vozlišče. Za razvrščanje povezanega seznama v Javi obstaja razredni seznam, ki deluje z okvirom Zbirke, ki algoritme izvaja kot naročanje.
Navodila
Organiziranje povezanega seznama v Javi (slika zaslišanja fotografij iz Fotolia.com)-
Povezani seznam razglasite tako, da ustvarite nov objekt LinkedList in dodelite spremenljivko LinkedList. LinkedList prihaja iz generičnega razreda List, zato bo objekt LinkedList sprejel tudi vsako metodo, ki sprejme seznam. "" LinkedList l = novo LinkedList (); ""
-
Na seznam dodajte predmete iste vrste (kot so cela števila). To so lahko predmeti kakršne koli vrste, toda za razvrščanje povezanega seznama morajo biti vse iste vrste.
-
Z metodo List.addFirst vstavite nove predmete na vrh seznama, tako da so vsi dodani predmeti v nasprotnem vrstnem redu. Če jih želite dodati na konec seznama, uporabite metodo List.addLast. list.addFirst (1); list.addFirst (3); list.addFirst (2); "
-
Uporabite iterator za iteracijo po seznamu in tiskanje pred in po ogledu, kaj počne metoda razvrščanja. "" za (Iterator i = list.iterator (); i.hasNext ();) {System.out.println (i.next ());} "
Razvrsti povezani seznam v Javi
-
Razvrsti seznam s privzetim primerjalnikom. Primerjalnik je objekt, ki primerja dva objekta. Privzeti primerjalni predmet uporablja manjši operater, zato je seznam razvrščen v naraščajočem vrstnem redu. Če želite razvrstiti seznam, uporabite statično metodo Collections.sort. "" Zbirke.sort (seznam); ""
-
y) {return -1; "> Naredite seznam s primerjalcem po meri tako, da napišete razred, ki izvaja primerjalni vmesnik in ga posreduje primerku kot argumentu za naročanje. "javni razred GreaterThan implementira Comparator else if (x == y) {return 0;} else {return 1;}}}"
-
Uporabite klic Zbirke.sort, tako da podate nov primer GreaterThan kot drugi argument. Ker bodo predmeti, ki so večji, pred ostalimi, bo seznam razvrščen v padajočem vrstnem redu namesto naraščajočega. Če pa seznam objektov razvrstite iz razreda po meri, ki ste ga sami vnesli, lahko ta razred izvede vmesnik Comparable namesto ločenega razreda Comparator. Zbirke.sort (seznam, novi GreaterThan ()); ""
Razvrsti z uporabo privzetih primerjalnih primerjalnikov
Kako
- Problematično je uporabiti celo število za iteracijo v vezju in metodo List.size (). Ponovitev zaprtega seznama je draga računska operacija. Pri uporabi indeksnega operaterja (kot je l [2]) kot v katerem koli ukazu, mora Java prebrati seznam, dokler ne doseže indeksa 2. Za majhne sezname je to problem, vendar z nečim velikim, uporaba indeksnega operaterja za ponavljanje se spremeni v nekaj, kar zahteva veliko virov.
- Ne glede na to, kako je implementiran objekt List, saj LinkedList izvaja isti vmesnik.
- Primerjalna metoda se mora vrniti na -1, če je arg0 urejen pred arg1, 0, če je urejen enakopravno, in 1, če je arg1 urejen pred arg0.
Obvestilo
- Objekt iterator zagotavlja, da vsako vozlišče na seznamu obišče samo enkrat. To je pomembno, da si zapomnite, saj lahko obiski brez potrebe zlorabijo podatkovne strukture do točke, ko program ne deluje pravilno.