logo

Stack vs. Queue

Először is megnézzük mi az a verem és mi az a sor egyénileg, majd megbeszéljük a verem és a sor közötti különbségeket.

Mi az a verem?

Egy adatstruktúra. Tömb esetén véletlenszerű hozzáférés lehetséges, azaz egy tömb bármely eleme bármikor elérhető, míg veremben csak szekvenciális hozzáférés lehetséges. Ez egy tároló, amely követi a beillesztési és törlési szabályt. Az elvet követi LIFO (Last In First Out) amelyben az inszerció és a deléció az a. néven ismert egyik oldalról történik tetejére . A veremben hasonló adattípusú elemeket is beilleszthetünk, azaz a különböző adattípusú elemek nem illeszthetők be ugyanabba a verembe. A két műveletet LIFO-ban hajtják végre, azaz nyom és pop művelet.

Stack vs. Queue

A következő műveletek végezhetők el a veremen:

    push (x):Ez egy olyan művelet, amelyben az elemeket a verem tetejére helyezik be. Ban,-ben nyom függvény, át kell adnunk egy elemet, amelyet be akarunk szúrni egy verembe.pop():Ez egy olyan művelet, amelyben az elemek törlődnek a verem tetejéről. Ban,-ben pop() függvényt, nem kell egyetlen argumentumot sem átadnunk.peek()/top():Ez a függvény a veremben elérhető legfelső elem értékét adja vissza. A pop()-hoz hasonlóan visszaadja a legfelső elem értékét, de nem távolítja el azt a veremből.üres():Ha a verem üres, akkor ez a függvény valódi értéket ad vissza, vagy hamis értéket ad vissza.tele van():Ha a verem megtelt, akkor ez a függvény valódi értéket ad vissza, vagy hamis értéket ad vissza.

A veremben a tetejére egy mutató, amely az utoljára beillesztett elem nyomon követésére szolgál. A verem megvalósításához ismernünk kell a verem méretét. Le kell foglalnunk a memóriát, hogy megkapjuk a verem méretét. A verem megvalósításának két módja van:

    Statikus:A verem statikus megvalósítása tömbök segítségével történhet.Dinamikus:A verem dinamikus megvalósítása egy linkelt lista segítségével történhet.

Mi a Várólista?

A

Hasonlóságok a verem és a sor között.

Két hasonlóság van a verem és a sor között:

    Lineáris adatstruktúra
    Mind a verem, mind a sor a lineáris adatstruktúra, ami azt jelenti, hogy az elemek egymás után kerülnek tárolásra, és egyetlen futással érhetők el.Rugalmas méretben
    Mind a verem, mind a sor rugalmas méretű, ami azt jelenti, hogy a futásidőben a követelményeknek megfelelően növekedhetnek és csökkenhetnek.

A verem és a sor közötti különbségek

Stack vs. Queue

A verem és a sor közötti különbségek a következők:

Összehasonlítási alap Kazal Sor
Elv Ez a LIFO (Last In- First Out) elvet követi, ami azt jelenti, hogy az utolsóként beszúrt elem lesz az első, amelyet törölni kell. Ez a FIFO (First In -First Out) elvet követi, ami azt jelenti, hogy az elsőként hozzáadott elem lesz az első elem, amely eltávolításra kerül a listából.
Szerkezet Csak egy vége van, ahonnan a beillesztés és a törlés is megtörténik, és ezt a végét felsőnek nevezik. Két vége van, azaz elülső és hátsó. Az elülső részt a törléshez, míg a hátsó részt a beillesztéshez használják.
A használt mutatók száma Csak egy felső mutatóként ismert mutatót tartalmaz. A felső mutató az utoljára beszúrt vagy a verem legfelső elemének címét tartalmazza. Két mutatót tartalmaz elöl és hátul. Az elülső mutató az első elem címét, míg a hátsó mutató a sor utolsó elemének címét tartalmazza.
Elvégzett műveletek Két műveletet hajt végre, push és pop. A push művelet beszúrja az elemet a listába, míg a pop művelet eltávolítja az elemet a listából. Főleg két műveletet hajt végre, a sorbaállítást és a dequeue-t. A sorbaállítási művelet az elemek beillesztését végzi a sorba, míg a dequeue művelet az elemek törlését a sorból.
Az üres állapot vizsgálata Ha top==-1, ami azt jelenti, hogy a verem üres. Ha front== -1 vagy front = rear+1, ami azt jelenti, hogy a sor üres.
Teljes állapot vizsgálata Ha top== max-1, ez a feltétel azt jelenti, hogy a verem megtelt. Ha hátsó==max-1, ez a feltétel azt jelenti, hogy a verem megtelt.
Változatok Nincsenek típusai. Három típusa van, például prioritási sor, körkörös sor és kétvégű sor.
Végrehajtás Ennek egyszerűbb megvalósítása van. Viszonylag összetett megvalósítása van, mint egy veremnek.
Megjelenítés A verem függőleges gyűjteményként jelenik meg. A várólista vízszintes gyűjteményként jelenik meg.