Meine "verkettete Liste"!
-
ich kenne mich mit der stl leider nicht so gut aus..habe mich quasi erst heute damit richtig beschäftigt!
da ich viel mit listen zutun habe, wollte ich die stl mal ausprobieren und dachte mir das ich meine methoden die ich habe durch die stl methoden ersetzen kann..vielleicht ist das schwachsinn aber für mich, der so gut wie kein plan von der stl hat, ist das komfortabler zu benutzen..
ich dachte auf stl listen ist kein indexoperator möglich?
-
brainwave81 schrieb:
ich dachte auf stl listen ist kein indexoperator möglich?
korrekt, du kannst nur mit Iteratoren auf einer std::list operieren. Der Index-Op müsste sich ja vom Ersten bzw. Letzten Element zum ausgewählten hangeln (das im Ungünstigsten Fall in der Mitte rumgurkt). Bei einem Array (bzw. vector) kann er einfach hinspringen, denn der Compiler weiß ja, wie groß ein einzelnes Element ist und so ist er ruck-zuck beim gewünschten Element.
MfG
GPC
-
diese möglichkeit habe ich doch mit to_pos() und re_pos() genutzt, oder?!
-
brainwave81 schrieb:
ich dachte auf stl listen ist kein indexoperator möglich?
Von "möglich" kann nicht die Rede sein. Es ist nur extrem ineffektiv. Ich habe auch nicht gesagt, dass du einen machen sollst, sondern dass du einen hast und das gebührend bemängelt
:.filmor schrieb:
3. show_pos . to_pos entspricht einem Indexoperator.
4. get ist Quatsch (siehe 3)
6. Es gibt einen Grund, warum man auf Listen nicht mit Indizes sondern Iteratoren arbeitet ...Mit show_pos . to_pos ist "Ausführung von show_pos nach to_pos" gemeint. Haskell ist toll

-
Ja, das machst Du. Bei einer Liste muß man allerdings durchlaufen (so wie du das auch machst). Dadurch ist das ganze erheblich viel langsamer. Praktisch sozusagen nicht einsetzbar. Daher macht es keinen Sinn das anzubieten.
-
auf die performance wird hier kein rücksicht genommen

wie gesagt, ich muss eine liste schnell parat haben..ich muss mich auch nach graphen und bäume informieren..kennt ihr
gute seiten wo die stl gut beschrieben ist? (was bäume und graphen anbetrifft!)
-
brainwave81 schrieb:
auf die performance wird hier kein rücksicht genommen

wie gesagt, ich muss eine liste schnell parat haben..Dann lern doch lieber std::list richtig zu benutzen, statt Dir so ein Monstrum zu bauen, das auch noch die Laufzeit drückt. Dann hast Du's auch schnell parat. Ich weiß nicht, ob Dir das O-Kalkül was sagt, aber wenn Du einen Algorithmus, der mit nem std::vector O(n) Laufzeit hat für Deine Liste ganz naiv hinschreibst wird das plötzlich O(n^2) Laufzeit haben, was deutlich schlechter ist.
ich muss mich auch nach graphen und bäume informieren..kennt ihr
gute seiten wo die stl gut beschrieben ist? (was bäume und graphen anbetrifft!)Graphen gibt's nicht in der STL, bei boost (www.boost.org) ist da aber was zu finden. Für (Such)Bäume schau Dir mal std::map an. Generell lohnt sich vielleicht ein Blick auf www.cppreference.com
-
ich werde versuchen mich näher mit der stl zu beschäftigen..scheint viele
vorteile mit sich zubringen..was graphen oder bäume anbetrifft, gibt es doch sowas wie "maps" wenn ich mich nicht täusche, oder?
-
Ja, std::map. Aber für graphen gibt's nix fertiges.
-
brainwave81 schrieb:
ich werde versuchen mich näher mit der stl zu beschäftigen..scheint viele
vorteile mit sich zubringen..
-
vielen dank!
