LinkedList bejárása for / iterátor nélkül?
Figyelt kérdés
A LinkedListen módosítani kéne dolgokat (adni hozzá elemet, jelenlegi elemeket módosítani), ellenben ha a fentebb írt módszerekkel próbálkozok kivételt dob. Hogy lehetne mégis bejárni és közben módosítani a listát?2015. okt. 28. 11:19
1/3 anonim válasza:
Iterátorral kell. Azt kellene megtudni, hogy miért dob kivételt (pl. érvénytelen iterátor), és ezt kijavítani.
2/3 A kérdező kommentje:
Az a baja, hogy nem lehet iterálás közben a listát módosítani, mivel érvénytelenné válik az iterátor.
2015. okt. 28. 13:15
3/3 anonim válasza:
Ez természetes; ezért kell átrakd az iterátort a következő elemre.
Ez például hibás kód (az iterátor megpusztul):
myList.erase(it);
De így már jó:
it = myList.erase(it);
mert az "erase" mindig a következő elem mutatóját dobja vissza!
Ez C++-ban van, de gondolom javában is hasonló.
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!