16. Verem műveletei Kaszab Gábor.

Slides:



Advertisements
Hasonló előadás
Koordináták, függvények
Advertisements

Sor láncolt ábrázolással
Nevezetes algoritmusok
Adatszerkezetek Az adatokat két fő csoportra oszthatjuk: egyszerű és összetett adatok.  Az egyszerű adatot egy érték jellemez, tovább nem bontható. (szám,
8. előadás (2005. április 19.) Pozicionálás fájlban (folyt.) I/O mechanizmus váltás Hibakezelő függvények Változók tárolási osztályai Parancssor-argumentumok.
Algebrai specifikációk Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Copyright, 2009 © Szlávi Péter A kupac és a prioritási sor típuskonstrukciók Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
4. Helyes zárójelezés algoritmusa
Minimális költségű feszítőfák
Dinamikus tömbök.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Bevezetés a Java programozásba
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Függvények, mutatók Csernoch Mária.
Mutatók, tömbök, függvények
A verem működése fpga-n
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
6. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
8. előadás Dinamikus memóriakezelés. Mutatók. Láncolt adatszerkezetek.
Copyright, 1999 © Szlávi Péter Verem típuskonstrukció Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
H A S H E L É S M Ű V E L E T E I N Y Í L T C Í M Z É S S E L S L I D E 01 HASHELÉS MŰVELETEI NYÍLT CÍMZÉSSEL Készítette Juhász Zoltán Gyakorlatvezető.
Tökéletes Hash függvények keresése Kasler Lóránd-Péter.
Ficsor Lajos Template-ek CPP8/ 1 Template-ek. Ficsor Lajos Template-ek CPP8/ 2 A template fogalma Kiindulási probléma: tetszőleges típusokon kellene ugyanolyan.
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
Tömbök Csernoch Mária.
Alapszint 2.  Készíts makrót, ami a kijelölt cellákat egybenyitja, a tartalmat vízszintesen és függőlegesen középre igazítja és 12 pontos betűméretűre.
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
Grafikus tervezőrendszerek programozása 7. előadás.
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
V. Adatszerkezetek, kollekciók
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Fák.
Rekordok Dinamikus tárkezelés és pointerek Dinamikusan láncolt listák
A Helyes Zárójelezés Struktogramja
Nevezetes algoritmusok: Fa megvalósítása Készítette: Várkonyi Tibor Zoltán.
Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.
Egyenesvonalú (lineáris) adatszerkezetek
Objektum orientált programozás
Mélységi bejárás Az algoritmus elve: Egy kezdőpontból kiindulva addig megyünk egy él mentén, ameddig el nem jutunk egy olyan csúcsba, amelyből már nem.
1. feladat  Készíts olyan függvényt, mely paraméterül kapja két egész típusú változó címét, s hívása után a két változó értéke helyet cserél.
Algoritmusok és Adatszerkezetek Egy kifejezés lengyelformára hozása - bemutató.
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Összeállította: Gergely János
Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése.
Objektum orientált programozás 4. Mutatók, típusok és struktúrák Nagy Szilvia.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
Informatikai gyakorlatok 11. évfolyam
Programozás II. labor 2. rész (Adatszerkezetek)
A verem. A verem (stack) homogén adatelemek olyan sorozata, amelyen két művelet értelmezett: –Új elem elhelyezése a verem tetejére (push) –Elem kivétele.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
A verem és a sor adatszerkezet
Dinamikus adatszerkezetek
Neumann János Informatikai Kar
Nevezetes algoritmusok
Algoritmusok és Adatszerkezetek I.
Dinamikus adatszerkezetek
VEREM.
Informatikai gyakorlatok 11. évfolyam
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Gráfalgoritmusok G=(V,E) gráf ábrázolása
2-3-fák A 2-3-fa egy gyökeres fa az alábbi tulajdonságokkal:
Előadás másolata:

16. Verem műveletei Kaszab Gábor

A verem tömbös megvalósítása -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 1 top Max -A legfelső elem indexét a Top változóból tudhatjuk meg

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

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

Tömbös műveletek IsFull(v) -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 Return(top=Max)

Tömbös műveletek Push(v,e) top=Max v[top+1]:=e top:=top+1 I B A 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 e top top+1 Max

Tömbös műveletek -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 Pop(v,x) top=0 H I B A x:=v[top] top:=top-1 x top-1 top

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

Láncolt megvalósítás v top -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ő top

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

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

Láncolt műveletek -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 Top(v) v=NIL Hiba Return(v^.adat) v Ennek az értékét kapjuk vissza

Láncolt műveletek Push(v,e) -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 new(p) p^.adat:=e v p^.mut:=v v:=p e

Láncolt műveletek -Kiveszi a legfelső elemet Pop(v,x) v=NIL H I B A 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

Vége