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
  1. Milyen adatszerkezetet neveznek stacknek?
  2. Mi alapján szervezhető fel a struktúra?
  3. Adjon példákat arra, hogyan kell megszervezni valamit a verem alapján.
  4. A köteg használatával írja be a sor karaktereit fordított sorrendben.

Ez az oldal az uCoz-val készült

Kapcsolódó cikkek