Veröffentlicht 28. September 201212 j 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
29. September 201212 j 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 201212 j von Hexagon
29. September 201212 j Hallo Artery, vielleicht hilft Dir dieser Link bei der geschickten Auswahl von Datentypen. Denn mal gutes Gelingen!
29. September 201212 j Autor 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, **** =(
4. Oktober 201212 j 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
4. Oktober 201212 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.