In welcher Richtung "betreibt" ihr eine std::deque?
-
Bloss aus kindischem Interesse...
Wenn ihr eine reine FIFO braucht, und dafür eine std::deque verwendet, wie steckt ihr Daten rein, und wie holt ihr sie wieder raus?
push_back & pop_front
oder
push_front & pop_back
?Oder mal-so-mal-so?
-
hustbaer schrieb:
push_back & pop_front
In 99% der Fälle. Macht für mich irgendwie mehr Sinn, wieso auch immer

Aber wenn ich eine FIFO will, dann nehme ich persönlich sowieso meistens den Adapter:
http://www.cplusplus.com/reference/stl/queue/Habe mir sogar selber einen Adapter gebaut, falls ich ein paar Funktionen mehr brauche. Aber der verwendet dann eben
push_back&pop_front
Grüssli
-
da kann ich mich Dravere nur anschließen

-
Scheint mir irgendwie auch logischer, eine Warteschlange von vorne zu lesen und hinten einzufügen.
Wenn ich aber den Adapter
std::queuenehme, setze ich den zugrunde liegenden Container oft aufstd::list. Man nimmt zwar ein wenig mehr Allokationen in Kauf, dafür sind sie gleichmässig und es wird kein Platz verschwendet. Eine verkettete Liste scheint mir dafür aber auch gut geeignet. Naja, ist auch ein wenig mein persönliche Meinung...
-
Interessant. Ich auch "push_back & pop_front".
Klar, wenn man sich den Begriff Warteschlange hernimmt (jetzt wirklich mit Leuten die irgendwo anstellen), dort bezeichnet man ja auch das Ende wo die Leute stehen die als nächste drankommen als "Kopf", und der "Kopf" ist nunmal vorne.z.T. std::list: die hab' ich glaub ich noch nie irgendwo verwendet. Hatte denke ich noch nie einen Fall wo es wirklich Sinn gemacht hätte.