Az adathalmazok dinamikus szerkezetei
kazal # 151; Dinamikus adatszerkezet, amely olyan elemek sorrendi elemeit ábrázolja, amelyekben az új elemek hozzáadása és a meglévők eltávolítása az egyik végéből történik, amelyet a verem tetejének neveznek.
Definíció szerint az elemeket a kötegből fordított sorrendben extraháljuk a struktúra hozzáadásához, azaz Az "utolsó" elv # 151; először ment. "
A stack megszervezésének legnyilvánvalóbb példája a gyermek piramisa, ahol a gyűrűk hozzáadása és eltávolítása pontosan a köteg definíciója szerint történik.
A köteg lehet szervezni alapján bármilyen adatstruktúra, ahol a tárolási számos hasonló elem, és amely úgy valósítható meg, a meghatározása a verem: lineáris tömb, gépelt fájlt, egyirányú vagy kétirányú lista. A mi esetünkben, a leginkább alkalmas a megvalósítása a verem egy lista egyirányú, és egy halom válassza ki a lista elején.
Válassza ki a verem jellemző elemeit és elemeit:
Ezeket a műveleteket a korábban kifejlesztett egyirányú listák segítségével hajtjuk végre (lásd a "Dinamikus adatstruktúra: listák" című anyagot).
Az itt kifejlesztett könyvtárak segítségével megoldjuk a problémát.
Egy példa. Írjon egy olyan programot, amely egész számként kiszámolja a szövegfájl postfix formájába írt (nem változó) kifejezések értékét (nincs hiba). A fájl minden sora pontosan egy kifejezést tartalmaz.
A megoldás algoritmusa. A kifejezést balról jobbra nézzük. Ha a szám megtalálható, értéke (egészében) a verembe, és ha a jele művelet történik, a verem kivonjuk az utolsó két elem (operandusa a műveletet), egy művelet rájuk, és annak eredménye van írva a verem. A végén csak egy szám marad a veremben # 151; a teljes kifejezés jelentése.
Tesztelje a kérdéseket és feladatokat- Milyen adatszerkezetet neveznek stacknek?
- Mi alapján szervezhető fel a struktúra?
- Adjon példákat arra, hogyan kell megszervezni valamit a verem alapján.
- A köteg használatával írja be a sor karaktereit fordított sorrendben.
Ez az oldal az uCoz-val készült