Különbség Stack és Queue között

Anonim

Stack vs Queue

Stack egy rendezett lista, amelyben a listaelemek beillesztése és törlése csak egy végén. Emiatt a verem az utolsó kiszolgáló (LIFO) adatszerkezetnek tekintendő. A várakozási sor olyan rendezett lista is, amelyben a listaelemek beillesztése az egyik végén úgynevezett hátul, és az elemek törlése a másik végén, az elülső néven történik. Ez a beillesztési és törlési mechanizmus teszi a várólistát a First in First out (FIFO) adatszerkezetben.

Mi az a Stack?

Amint korábban említettük, a stack egy olyan adatszerkezet, amelyben elemeket adunk hozzá és távolítunk el az egyik végtől, amelyet a csúcsnak nevezünk. A halmok csak két alapvető műveletet engedélyeznek, a push és a pop. A push művelet új elemet ad a köteg felső részére. A pop művelet eltávolítja az elemet a verem tetejétől. Ha a köteg már megtelt, amikor egy nyomógomb műveletet hajt végre, akkor a köteg túlcsordulásnak számít. Ha egy pop műveletet egy már üres veremen hajtanak végre, akkor ez egy stack alulfolyásnak számít. A kötegeken elvégezhető kisszámú műveletek miatt korlátozott adatszerkezetnek tekinthető. Ezenkívül a push és pop műveletek definiálásának módja szerint egyértelmű, hogy a verembe beadott elemek először a kötegből indulnak ki. Ezért a verem LIFO adatszerkezetnek tekintendő.

Mi a sor?

Várakozási sorban elemek kerülnek a sorok hátsó részébe, és eltávolítják a sor elejétől. Mivel az először hozzáadott elemek először törlődnek a sorból, fenntartja a FIFO rendelést. Az elemek hozzáadásának és eltávolításának sorrendjéből adódóan a sor a pénztárvonal elképzelését jelöli. A várakozási sor által támogatott általános műveletek sorvégi és sorrendi műveletek. A várólistán végzett művelet hozzáad egy elemet a várólistán, míg a várólistán végzett művelet eltávolítja az elemet a várólistából. A várólisták általában nincsenek korlátozva azon elemek számára, amelyek a memória korlátai mellett hozzáadhatók a várakozási sorhoz.

Mi a különbség a Stack és a Queue között?

Annak ellenére, hogy mind a kötegek, mind a sorok rendezett listák, vannak jelentős különbségek. A kötegekben az elemek hozzáadásával vagy törlésével csak az egyik végén hívható fel, míg a várólistákban az elemek hozzáadását az egyik végén, az úgynevezett hátulról végezzük el, és a másik végtől az elejétől törölni kívánt elemeket. A veremben az utolsó, a veremhez hozzáadott elemeket először eltávolítják a veremről. Ezért a verem LIFO adatszerkezetnek tekintendő. A várakozási sorban az először hozzáadott elemek először a sorból lesznek eltávolítva. Ezért a várólistát FIFO adatszerkezetnek tekintjük.

Kapcsolódó link:

Stack és Heap közötti különbség