Osaisko joku sanoa sisältääkö hash_map -kirjasto funktiota, jolla voisi viitata seuraavaan arvoon? Jos siis haen jonkin arvon, niin funktion avulla saisin tietää seuraavan arvon?
Esim. Javassahan tällainen on, muistaakseni oli hashNext().... mutta c :ssa samaa käytössä?
Esim. Javassahan tällainen on, muistaakseni oli hashNext().... mutta c :ssa samaa käytössä?
Vastaukset 3
Vanhimmat
Tämä ?
http://www.sgi.com/tech/stl/hash_map.html
se mitä etsit on iteraatori...
http://www.sgi.com/tech/stl/InputIterator.html
c ajoista on aikaa mutta jotenkin näin...
for (i=map.begin(); i != map.end(); i )
{
i.jotain
}
i on sama kuin siirry seuraavaa...
Sillä tuohan listaa alusta loppuun...
Kun taas ideana oli, että jos olen vaikka hajautustaulun keskellä haettuani listasta nimellä "Pekka Töpöhöntä" ja tuloksena saan ko. henkilön puhelinnumeron, niin sitten haluaisin tarkastella kuka tulee hajautustaulussa seuraavana ja sitä seuraavana... tai vaikkapa edeltävänä?
Eli sinulla on nimen mukaan järjästetty hash_map ?
hash_map temp;
hash_map::value_type arvo = temp.find("pekka töpöhantä");
// töpöhännän numero
arvo->second.puhelinumero;
// töpöhännästä seuraava
arvo;
arvo->first; // nimi
arvo->second.puhelinumero;
--arvo; // edellinen
ehkä jotenkin noin ??? c ajoista on aikaa...
vertaa .end() ja .begin() tietääksesi oletko alun/lopun.