Kezdőoldal » Számítástechnika » Programozás » Ha csak az elemeken akarunk...

Ha csak az elemeken akarunk végigfutni iterátorral, akkor az std::vector és az std::list ebből a szempontból ugyanolyan gyors?

Figyelt kérdés

2012. aug. 28. 16:28
 1/3 iostream ***** válasza:
100%

Természetesen nem. De miért nem méred ki? Nagyon könnyű erre példaprogramot írni.


A magyarázat: a vector iterátora gyakorlatilag egy pointer, amit csak sizeof(T)-vel kell növelgetni, a lista iterátor viszont egy indirekción megy át.

2012. aug. 28. 16:33
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:

Értem, akkor viszont kétféle iterátor is lehetne, vagy nem tudom van-e olyan konténer ami ezt megvalósítja.


Szóval nekem olyan konténer kéne, ami nem allokál újra, ha elem teszek vagy veszek ki belőle, viszont végig tudok olyan gyorsan menni rajta, mint egy vektoron. A kettő nem zárja ki egymást, hiszen az elemek lehetenek egymás után sorban a memóriában, csak legfeljebb nem olyan sorrendbe, ahogy betettem őket, de ez a bejárás során lényegtelen. a verem hasonló, de abból nem lehet középről kivenni.

2012. aug. 28. 17:56
 3/3 anonim ***** válasza:

Próbálom értelmezni amit írtál.

"Szóval nekem olyan konténer kéne, ami nem allokál újra, ha elem teszek vagy veszek ki belőle, viszont végig tudok olyan gyorsan menni rajta, mint egy vektoron."

Vagyis akkor statikusan vagy legalábbis fix-en le van foglalva a memóriába, ha elemeket veszek ki akkor nem nő a szabad memória, ezáltal korlátozva van az elemszám a rendelkezésre álló memóriától függetlenül, akár nagyon memóriapazarló is lehet.


"A kettő nem zárja ki egymást, hiszen az elemek lehetenek egymás után sorban a memóriában, csak legfeljebb nem olyan sorrendbe, ahogy betettem őket, de ez a bejárás során lényegtelen."

Vagyis a bejárás sorrendje lényegtelen, ami szaknyelven mondhatnám diszkrét ismétléses vezérlési szerkezetnek is.


Mert ha erre gondoltál akkor, ilyen konténert nem ismerek, de piszkok egyszerű az lenne implementálni a vector-hoz meg a list-hez képest.

2012. aug. 28. 20:38
Hasznos számodra ez a válasz?

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!