A sorok a való életben általában frusztrálóak, de egy számítógépes programban sok problémát megoldhatnak. Tudja meg, mit és hogyan tehet a sorral.

A várólista egy sokoldalú adatstruktúra, amelyet különféle beállításokban használhat. A CPU-ütemezési algoritmusoktól a webalkalmazásokig mindenhol megtalálható.

Ha Python fejlesztő akar lenni, létfontosságú, hogy felgyorsuljon ezzel az egyszerű, de mindenütt jelenlévő adatstruktúrával. Tanuljuk meg, mi a várólista adatstruktúra, és hogyan valósíthatunk meg egyet a Pythonban.

Mi az a várólista adatstruktúra?

Kép jóváírása: Wikipédia

A sor egy lineáris adatstruktúra, amely a FIFO (First-In-First-Out) elvet követi. Ez azt jelenti, hogy amikor lekér egy elemet a sorból, azt fogja kapni, amelyiket hozzáadta a többihez.

Íme az alapvető műveletek, amelyeket egy soron végrehajthat:

  • Sor: Elemek hozzáadása a sorhoz.
  • Dequeue: Elemek eltávolítása a sorból.
  • Nyomtatás: A sorban lévő elemek nyomtatása.
  • Elülső rész: A sor elején lévő elem lekérése.
  • Hátsó: A várólista hátulsó részén lévő elem lekérése.
instagram viewer

A Pythonban kétféleképpen valósíthatja meg a várólista adatszerkezetét: egy listatároló vagy egy kétvégű sor használatával a gyűjtemények modulból. Ehhez a programhoz listát fog használni.

Hogyan valósítsuk meg a várólista adatstruktúrát a Pythonban

A várakozási sort a Python listatárolójával fog megvalósítani. Kezdje egy üres lista deklarálásával a névvel sorban.

sor = []

Most el kell fogadnia a felhasználói bevitelt, és végre kell hajtania a felhasználó által megadott műveletet. Először nyomtasson ki egy sort, amely felszólítja a felhasználót, hogy adja meg a parancsot. Ezután várja meg a felhasználói bevitelt, és tárolja azt a parancs változó.

Használata Python if utasítások, hajtsa végre a felhasználó által beírt parancsnak megfelelő műveletet. Ha ismeretlen parancsot adnak meg, lépjen ki a programból. Tedd ezeket a műveleteket egy végtelenbe míg hurok annak biztosítása érdekében, hogy a program továbbra is fusson, amíg ki nem lépnek.

mígIgaz:
parancs = input("Mit akarsz csinálni? ")

ha parancs == "sorba állni":
# kód
elif parancs == "kiállás":
# kód
más:
szünet

nyomtatási sor)

Sorba állítás

Most, hogy a program fő vezérlési folyamatával foglalkozott, minden művelethez megadhatja a kódblokkot. Először írja be az enqueue kódját. A sorozás egy elem beszúrását jelenti a sor végére. Ezt megteheti a mellékel() módszer:

haparancs == "sorba állni":
sorban = int(bemenet("Írja be az elemet a sorba:"))

Sorból

Most írja be a kódot egy elem sorból való törléséhez. Ezt a pop módszerrel teheti meg, 0 indexszel. Miért? Amint azt korábban megtudta, a sor FIFO-sorrendet követ, így az első sorba helyezett elem legyen az első sorba helyezés.

ha parancs == "kiállás":
queue.pop(0)

Elülső

Továbblépve írja be a kódot a sor elején lévő elem kinyomtatásához. Egyszerűen nyomtassa ki a sor 0. indexét.

ha parancs == "elülső":
nyomtatási sor[0])

Hátulsó

Hasonlóan az elülső művelet kódjához, a hátsó művelet végrehajtásához nyomtassa ki az elemet az utolsó indexnél. Ehhez először használja a len() függvényt a sorban, majd vonjon le belőle 1-et az utolsó index megkereséséhez.

ha parancs == "hátulsó":
print (queue[len (queue) - 1])

Nyomtatás

Végül írja be a print parancs kódját. Egyszerűen nyomtassa ki a listát a Python szabványával nyomtatás() funkció.

ha parancs == "nyomtatás":
nyomtatási sor)

Ha a felhasználó által beírt szöveg nem egyezik a támogatott paranccsal, törje ki a while ciklust break utasítással. A végső kódnak így kell kinéznie:

sor = []

mígIgaz:
parancs = input("Mit akarsz csinálni?\n")

ha parancs == "sorba állni":
enqueue = int (input("Írja be az elemet a sorba:"))
queue.append (sorbasorolás)
elif parancs == "kiállás":
queue.pop(0)
elif parancs == "nyomtatás":
nyomtatási sor)
elif parancs == "elülső":
nyomtatási sor[0])
elif parancs == "hátulsó":
print (queue[len (queue)-1])
más:
szünet

nyomtatási sor)

Futtassa a programot a különböző sorműveletek kipróbálásához. Használja a print parancsot, hogy megtudja, hogyan befolyásolják a várakozási sort. Most létrehozta saját egyszerű várólista-megvalósítását a Pythonban.

A várólista csak egy a sok hasznos adatstruktúra közül

Az adatstruktúra fogalma létfontosságú, amelyet minden informatikus hallgatónak el kell sajátítania. Valószínűleg már tanult vagy dolgozott néhány alapvető adatszerkezettel, például tömbökkel vagy listákkal.

Az interjúztatók hajlamosak az adatstruktúrákkal kapcsolatos kérdéseket is feltenni, így ha jól fizető programozói munkát keres, akkor fel kell frissítenie adatszerkezeti ismereteit.