Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet egy std::set...

Hogyan lehet egy std::set elemét random kiválasztani?

Figyelt kérdés

2012. szept. 9. 10:51
 1/3 iostream ***** válasza:

Nem hiszem, hogy ennyi kreativitás nincs benned. Generálsz egy számot 0 és size-1 között, és ennyit lépsz a begin()-től.


Vagy legalább a keresőt tudnád használni. [link]


Ezen két tulajdonság nélkül sosem leszel programozó.

2012. szept. 9. 14:05
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:

Ezt én is tudom, csak azt nem, hogy ez-e a leggyorsabb módszer. Főleg ha nagy halmazról van szó.


És nem tudom, hogy nem-e lehetne valahogyan kihasználni, hogy a halmaz elemei között nincsen sorrend, tehát elvileg a tárolás is lehetne random, nem?

2012. szept. 10. 11:57
 3/3 iostream ***** válasza:

A halmaz mint olyan egy matematikai fogalom. Matematikai fogalmat sosem lehet tökéletesen átültetni a valóságba.

Az std::set, amiről te beszéltél, pontosan megmondja, milyen sorrendben tárolja az elemeit: növekvően rendezve. Ugyanis általában rendezőfával valósítják meg.

Van egy másik set, az std::unordered_set, ami hashtáblán alapul, az véletlenszerűnek tűnhet, de "sajnos" azonos bemenetre mindig ugyanazt a sorrendet adja, úgyhogy nem jó ez sem.

2012. szept. 10. 19:19
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!