FIFO - Verständnisfrage

Gast #2993773
Lesenswert?

Hallo,

FIFO heißt ja "First In First Out", habe ich es richtig verstanden, dass 
wenn ich einen Stack habe und ein Element hinzufüge, dass das am Anfang 
hinzugefügt wird (weil "First In"). Und beim Auslesen am Anfang 
ausgelesen wird (weil "First Out")?

Liege ich komplett daneben oder ist es richtig?

Danke
burgerohnealles
#2993777
Lesenswert?

Nein, ein Stack ist ein Stapel. Wenn Du da 10 Dinge nacheinander drauf 
legst, ist das letzte ganz oben und somit das, was Du als erstes wieder 
bekommen kannst.

Ein FIFO ist so was wie ein Gleis bei der Modelleisenbahn. Du kannst 10 
Züge drauf fahren lassen, und die kommen genau in der gleichen 
Geschwindigkeit auch wieder raus.
Gast #2993782
Lesenswert?

Hallo!

Ein Stack ist kein FIFO.
Wenn du ein Element auf den Stack ablegst stapeln sich ja alle 
nachfolgenden darüber. Daraus folgst das Element welches du als erstes 
auf den Stack gelegt hast bekommst du als letztes wieder heraus. -> LIFO 
(oder umgekehrt: Das Element das du als letztes auf den Stack gelegt 
hast bekommst du wieder als erstes heraus).

L.g.
#2993788
Lesenswert?

Nein, genau falsch.

FIFO kannst Du Dir wie ein Warteschlange (z.B. am Postschalter) 
vorstellen. Zuerst stellt sich Person A an, dann Person B und dann 
Person C. Bedient wird als erstes Person A, Person B als zweites und 
zuletzt Person C. Derjenige, der zuerst angekommen ist (First In, also 
hier Person A) wird als erstes bedient (First Out).

Ein Stack ist dagegen wie ein Stapel Papier. Du legst zuerst Blatt A auf 
den Stapel, dann Blatt B und dann Blatt C. Jetzt entnimmst Du das 
oberste Blatt wieder vom Stapel und hast Blatt C in der Hand. D.h. das 
Blatt, das Du zuletzt auf den Stapel gelegt hast (Last In), nimmst Du 
als erstes wieder vom Stapel (First Out). Ein Stack funktioniert also 
nach dem LIFO-Prinzip.

Edit: Oh je, viel zu spät. :-)
Gast #2993796
Lesenswert?

Fabian O. schrieb:
> FIFO kannst Du Dir wie ein Warteschlange (z.B. am Postschalter)
> vorstellen. Zuerst stellt sich Person A an, dann Person B und dann
> Person C. Bedient wird als erstes Person A, Person B als zweites und
> zuletzt Person C. Derjenige, der zuerst angekommen ist (First In, also
> hier Person A) wird als erstes bedient (First Out).
>
> Ein Stack ist dagegen wie ein Stapel Papier. Du legst zuerst Blatt A auf
> den Stapel, dann Blatt B und dann Blatt C. Jetzt entnimmst Du das
> oberste Blatt wieder vom Stapel und hast Blatt C in der Hand. D.h. das
> Blatt, das Du zuletzt auf den Stapel gelegt hast (Last In), nimmst Du
> als erstes wieder vom Stapel (First Out). Ein Stack funktioniert also
> nach dem LIFO-Prinzip.

Ok. Sehr gut erklärt!

Aber wie nennt man dann das, wenn es z.B. nach dem FIFO-Prinzip, wie im 
Beispiel mit der Warteschlange, geht?


Danke
burgerohnealles
Gast #2993852
Lesenswert?

Fabian O. schrieb:
> Eine gängige Softwareimplementierung eines FIFOs wäre ein Ringpuffer,
> falls Du das suchst.
>
> Oder eben das Wort "FIFO" als Kurzform für "Pufferspeicher nach dem
> FIFO-Prinzip". ;-)

Ok. Danke. Ich habe nicht nach etwas speziellem gesucht, wollte einfach 
wissen was das ist, weil das häufig in der Elektronik/Programmierung 
vorkommt.

MfG
burgerohnealles

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren