Artery Geschrieben 28. September 2012 Geschrieben 28. September 2012 Hey, wie kann ich in eine Map ein Element hinten einfügen? Wenn ich einen Iterator habe, der auf das Ende der Map zeigt, wird das Element dennoch nicht an das Ende der Map eingefügt. Wie kann ich nun realisieren, dass ich ein Element in das Ende einer Map einfügen kann? MfG Artery Zitieren
Hexagon Geschrieben 29. September 2012 Geschrieben 29. September 2012 (bearbeitet) Moin Artery, Wie kann ich nun realisieren, dass ich ein Element in das Ende einer Map einfügen kann? Ähm... der Sinn einer Map ist Dir schon klar, oder? Da gibt es kein "hinten" oder "vorne". Sie selber übernimmt für Dich die Sortierung, damit sie immer die ideallen Zugriff hat ohne ewig zusuchen. Edith meint: Nimm einen Vector wenn Du "hinten" und "vorne" brauchst. Bearbeitet 29. September 2012 von Hexagon Zitieren
uenetz Geschrieben 29. September 2012 Geschrieben 29. September 2012 Hallo Artery, vielleicht hilft Dir dieser Link bei der geschickten Auswahl von Datentypen. Denn mal gutes Gelingen! Zitieren
Artery Geschrieben 29. September 2012 Autor Geschrieben 29. September 2012 Als ich heute morgen nochmal herumprobiert habe, ist mir dann leider auch aufgefallen, dass ja alles schon sortiert wird Das blöde .insert hatte mich dann verwirrt Das ist jetzt nun leider verdammt schlecht , weil auf Liste umsteigen könnte im jetzigen Stand ganz schön haarig werden, **** =( Zitieren
SynonymOfGod Geschrieben 4. Oktober 2012 Geschrieben 4. Oktober 2012 Moin Artery, Ähm... der Sinn einer Map ist Dir schon klar, oder? Da gibt es kein "hinten" oder "vorne". Sie selber übernimmt für Dich die Sortierung, damit sie immer die ideallen Zugriff hat ohne ewig zusuchen. Edith meint: Nimm einen Vector wenn Du "hinten" und "vorne" brauchst. Ein Vector wäre hier wahrscheinlich völlig deplaziert... würdest du wissen wie ein vector funktioniert dann würdest du mir zustimmen wenn ich sage vorne einfügen ist der worse-case.. da er den gesamten vector um ein template des inhalts verschiebt.. ggf. neuen speicher allokiert und das halt sehr sehr langsam ist wenn er alles umkopieren muss etc.. Was ich dir raten würde wäre eine dequeue empfehlen oder wenn du immer nur auf das letzte eingefügte Element zuerst zugreifen willst einen stack Als ich heute morgen nochmal herumprobiert habe, ist mir dann leider auch aufgefallen, dass ja alles schon sortiert wird Das blöde .insert hatte mich dann verwirrt Das ist jetzt nun leider verdammt schlecht , weil auf Liste umsteigen könnte im jetzigen Stand ganz schön haarig werden, **** =( schreib dir eine methode in der du auf deine liste zugreifen kannst wie auf eine map ist nicht so schwer Zitieren
Wodar Hospur Geschrieben 4. Oktober 2012 Geschrieben 4. Oktober 2012 Ein Vector wäre hier wahrscheinlich völlig deplaziert... würdest du wissen wie ein vector funktioniert dann würdest du mir zustimmen wenn ich sage vorne einfügen ist der worse-case.. da er den gesamten vector um ein template des inhalts verschiebt.. ggf. neuen speicher allokiert und das halt sehr sehr langsam ist wenn er alles umkopieren muss etc.. Was ich dir raten würde wäre eine dequeue empfehlen oder wenn du immer nur auf das letzte eingefügte Element zuerst zugreifen willst einen stack Interessantes Paper zu diesem Thema, denn dein Tipp sollte kritisch hinterfragt werden. Die Indirektionen, durch verkettetet Elemente, können dich schnell viel mehr Zeit kosten, als, vor allem wenn die Daten noch im Cache sind. schreib dir eine methode in der du auf deine liste zugreifen kannst wie auf eine map ist nicht so schwer Mit einer eigenen Hashing Funktion, gibt bestimmt leichtere Aufgaben. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.