erste elemente einer multimap ausgeben
-
wie kann ich denn aus einem multimap-container die ersten 5 elemente ausgeben?
meine (ausgabe)zeile
copy(mset.begin(), mset.begin()+5 , ostream_iterator <unsigned>(cout," "));
funktioniert nich.
-
mset.begin()+5 ist nicht zulässig, weil die assoziativen Container der Standardbibliothek keine Random-Access-Iteratoren anbieten. Lass dir halt was anderes einfallen ...
-
kannst du mir einem tip oder einen hilfreichen wink geben?
-
hat sich erledigt, danke
-
Ich gehe normalerweise davon aus, dass jemand, der routinemäßig mit STL-Algorithmen und Streamiteratoren hantiert, eine einfache for-Schleife ohne Hilfe hinkriegt.
-
lol, so einfach wollt ichs mir dann auch nicht machen
brauchst auch nicht in so einem ton mit mir reden. wie gesagt, es hat sich schon erledigt. dennoch danke.
-
Mit advance kann man Iteratorenverschieben und das dann wieder mit copy erledigen.
-
genauso hab ich es dann auch getan. ich habe einen iterator i für multiset definiert und auf mset.begin() gesetzt und mit advance(i, 6) um sechs positionen verschoben und bis dahin die elementreihe ausgegeben