Kezdőoldal » Számítástechnika » Programozás » Láncolt lista JAVA-ban, hogyan?

Láncolt lista JAVA-ban, hogyan?

Figyelt kérdés

Hogyan tudok egyszeresen láncolt (egyirányú fejelemes lista)listát létrehozni?

Eddig csak ennyire futotta tőlem:

linked.add(0, "Első");

linked.add(1, "Második");

linked.add(2, "Harmadik");

linked.add(3, "Negyedik");


Hogyan tudom kiíratni a mutatókat?

Az lenne a lényege, hogy a végén eltudjam dönteni, hogy a lista véges, vagy körkörös (van benne hurok).

Úgy képzeltem el, hogy megnézem a lista utolsó elemét és ha a következő elemre mutató index NULL(vagy NIL), akkor vége, ha nem, akkor körkörös.

Vagy ti mit ajánlanátok?

Tehát összegezve a kérdés:

hogy a lista utolsó eleme egy korábbi elemre mutat vissza vagy az utolsó elem nem mutat sehová, ezt hogyan tudom lekódolni?



2015. szept. 22. 10:19
 1/6 CspCsj ***** válasza:

Google: java linked list

Nálam az első találat:

[link]

2015. szept. 22. 10:40
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
100%

"Hogyan tudok egyszeresen láncolt (egyirányú fejelemes lista)listát létrehozni?"

Gugli a barátod, wiki a barátnőd.


"Eddig csak ennyire futotta tőlem:

linked.add(0, "Első");

linked.add(1, "Második");

linked.add(2, "Harmadik");

linked.add(3, "Negyedik");"

Ez eddig jó, habár nem tudom az index minek bele, a listában pont az királyság, hogy nem kell indexekkel bajlódni ha a végére akarsz fűzni.


"Hogyan tudom kiíratni a mutatókat?"

Minek akarod kiíratni a mutatókat? Memóriacímeket, vagy mit egyáltalán?


"Az lenne a lényege, hogy a végén eltudjam dönteni, hogy a lista véges, vagy körkörös (van benne hurok)."

Hát ha jól van implementálva és nem körkörösre írtad, akkor nem lehet benne hurok, eleve hogy kerülne bele?


"Úgy képzeltem el, hogy megnézem a lista utolsó elemét és ha a következő elemre mutató index NULL(vagy NIL), akkor vége, ha nem, akkor körkörös."

Ez így leírva szép, de ha körkörös a lista, akkor nincs utolsó elem.


"Vagy ti mit ajánlanátok?"

A beépített lista típusokat.


"hogy a lista utolsó eleme egy korábbi elemre mutat vissza vagy az utolsó elem nem mutat sehová, ezt hogyan tudom lekódolni?"

Ezt meg megint nem értem, mit akarsz egy eldöntendő kérdésen lekódolni?

2015. szept. 22. 10:41
Hasznos számodra ez a válasz?
 3/6 A kérdező kommentje:

Másodiknak köszönöm a válaszod.

Első, ezt én is megtalátam, de nem nyújtott számomra megoldást

2015. szept. 22. 10:45
 4/6 anonim ***** válasza:
100%

"Az lenne a lényege, hogy a végén eltudjam dönteni, hogy a lista véges, vagy körkörös (van benne hurok)."


Nézd meg, hogy: nem mutat semmi a listából a fejelemre, vagy van-e olyan elem, amire egynél több mutató mutat a listából.


"hogy a lista utolsó eleme egy korábbi elemre mutat vissza vagy az utolsó elem nem mutat sehová, ezt hogyan tudom lekódolni?"


Ha nincs rendellenes elem, akkor a listában nincs hurok, elmehetsz a végére, megnézheted, hogy biztos null. Ha van rendellenes elem, akkor megnézed, hogy mik mutatnak rá; lehet az bármelyik elem.

2015. szept. 22. 20:00
Hasznos számodra ez a válasz?
 5/6 Piert ***** válasza:
100%

Szia!


A válaszok sorrendben:

Egyirányú ( fejelemes, vagy anélküli) láncolt listát úgy tudsz csinálni, hogy csinálsz egy osztályt amivel az elemeket reprezentálod. Ebben felveszel egy elem típusú objektumot, amivel a következő elemre mutatsz.


Mutatókat nem tudsz kiírni, mert a java teljesen elrejti előleg a pointereket.

A "körkörösséget", azaz a ciklikusságot úgy tudod megnézni, hogy végigiterálod a listát. Nézed, hogy a következő elem null-e, vagy pedig egyenlő-e az első ( esetleg a fej) elemmel. Ha null, a listád nem ciklikus. Ha pedig egyenlő az előbb említettekkel, akkor igen.

2015. szept. 23. 10:53
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
Köszi!
2015. szept. 24. 07:43

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!