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?
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.
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.