Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

16. Verem műveletei Kaszab Gábor. A verem tömbös megvalósítása 1Maxtop -Itt a vermet egy tömb segítségével valósítjuk meg -Az indexelést 1-től kezdjük,

Hasonló előadás


Az előadások a következő témára: "16. Verem műveletei Kaszab Gábor. A verem tömbös megvalósítása 1Maxtop -Itt a vermet egy tömb segítségével valósítjuk meg -Az indexelést 1-től kezdjük,"— Előadás másolata:

1 16. Verem műveletei Kaszab Gábor

2 A verem tömbös megvalósítása 1Maxtop -Itt a vermet egy tömb segítségével valósítjuk meg -Az indexelést 1-től kezdjük, a tömb maximális mélységét pedig a Max változó tárolja -A legfelső elem indexét a Top változóból tudhatjuk meg

3 Tömbös műveletek Empty(v) top:=0 -Létrehoz egy üres v nevű vermet topMax

4 Tömbös műveletek IsEmpty(v) Return(top=0) -Megvizsgálja hogy üres-e a verem -Üres, ha a visszatérési érték 0 -Különben nem üres

5 Tömbös műveletek IsFull(v) Return(top=Max) -Hasonló az előzőhöz -Azt vizsgálja, hogy tele van-e a verem -Ha a top értéke megegyezik a Max- éval, akkor tele van

6 Tömbös műveletek Push(v,e) top=Max HIBAHIBA v[top+1]:=e top:=top+1 -A verem tetejére betesz egy új elemet -Ha a verem tele van, hibát kapunk -Egyébként beteszi az új elemet és beállítja a top változót a legfelső elemre top e top+1Max

7 Tömbös műveletek Pop(v,x) top=0 HIBAHIBA x:=v[top] top:=top-1 -Kiveszi a verem legfelső elemét -Ha a verem üres volt, hibát kapunk -értékül adja az x- nek a legfelső elemet és a verem mélységét csökkenti 1- el x toptop-1

8 Tömbös műveletek Top(v) top=0 HibaReturn(v[top]) -Megnézi a verem legfelső elemét, úgy hogy nem veszi ki belőle -Üres verem esetén hibát kapunk top

9 Láncolt megvalósítás top v -Egy elem adatmezőből és az alatta lévő elemre mutató pointerből áll -Ha nincs alatta elem, a NIL- re mutat -A top változót a v pointer helyettesíti, ami a legfelső elemre mutat -Nem kell Max változó, mert dinamikusan bővíthető

10 Láncolt műveletek Empty(v) v=NIL -Létrehoz egy új vermet -A v pointert NIL- re állítja

11 Láncolt műveletek IsEmpty(v) Return(v=NIL) -Lekérdezi, hogy üres- e a verem -Üres, ha a v pointer a NIL- re mutat

12 Láncolt műveletek Top(v) v=NIL Hiba Return(v ^.adat) -Lekérdezi a verem legfelső elemét -Ha üres a verem, hibát kapunk -A v pointer által mutatott elem adat mezőjét adja vissza v Ennek az értékét kapjuk vissza

13 Láncolt műveletek Push(v,e) new(p) p^.adat:=e p^.mut:=v v:=p -Betesz egy elemet a verembe -Először létrehoz egy p nevű elemet, az adatmezőnek értékül adja az e- t, mutatójának pedig értékül adja a v- t -Végül ráállítja a v- t az új elemre v e

14 Láncolt műveletek Pop(v,x) v=NIL HIBAHIBA x:=v^.adat p:=v v:=v^.mut dispose(p) -Kiveszi a legfelső elemet -Üres verem esetén hiba -A v- t egyel lentebbi elemre állítja -Kitörli a legfelső elemet v p

15


Letölteni ppt "16. Verem műveletei Kaszab Gábor. A verem tömbös megvalósítása 1Maxtop -Itt a vermet egy tömb segítségével valósítjuk meg -Az indexelést 1-től kezdjük,"

Hasonló előadás


Google Hirdetések