Kako razvrstiti povezani seznam v Javi

Avtor: Monica Porter
Datum Ustvarjanja: 22 Pohod 2021
Datum Posodobitve: 23 April 2024
Anonim
CS50 2014 - Week 4
Video.: CS50 2014 - Week 4

Vsebina

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)

    Razvrsti povezani seznam v Javi

  1. 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 (); ""

  2. 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.

  3. 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); "


  4. 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 z uporabo privzetih primerjalnih primerjalnikov

  1. 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); ""

  2. 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;}}}"

  3. 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 ()); ""


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.

Darila za jekleno poroko

Judy Howell

April 2024

Lani te praznovali pomemben mejnik: 10. obletnico poroke. Za to obletnico je veliko zanimivih in romantičnih idej, zdaj pa va čaka 11. leto in morda ne vete, kaj kupiti. Na rečo tradicija ponuja več m...

Ptica, ki govori, je lahko odličen premljevalec, aj razvije vojo latno oebnot in ima najljubše beede in beedne zveze, ki jih uporablja ob primernem čau in pogoto tudi ob neprimernem čau. Obtaja več ra...

Pridobivanje Popularnosti