list Bereich sortieren
-
Hallo,
habe einen
std::list
-Container und möchte nur einen Teilbereich davon sortieren.
Leider sortiertstd::list::sort()
nur den gesamten Container...
Wie kann ich Teilbereiche einer Liste sortieren?
-
Nimm std::sort() aus der algo lib.
-
hab ich ausprobiert... geht nicht
google meint das liegt daran, dassstd::sort()
Random-Access benötigt und deswegen nicht fürstd::list
zu gebrauchen ist...
-
Liste (oder Teilbereiche) in einen Vektor schreiben und std::sort anwenden. Nach getaner Arbeit, den Inhalt zurueckschreiben. Laufzeit sollte O(n log n) sein.
-
daersc schrieb:
Hallo,
habe einen
std::list
-Container und möchte nur einen Teilbereich davon sortieren.
Leider sortiertstd::list::sort()
nur den gesamten Container...
Wie kann ich Teilbereiche einer Liste sortieren?Mit
std::list::splice
einen Teil der Liste in eine neue Liste verschieben, diese Liste dann sortieren, und die sortierte Liste dann wieder in die alte Liste splicen. Dabei wird nicht kopiert.