GUI za prikaz delovanja podatkovne strukture sklad

GUI za prikaz delovanja podatkovne strukture sklad

Avtor: Jasmina Satler

Podatkovna struktura

Podatkovna struktura je način, kako sistematično organizirati podatke. Nekatere strukture so že vključene v okoljih (tabela, seznam, slovar), ostale pa vključimo sami.
Za vse velja, da so abstraktni podatkovni tipi. Ne zanima nas torej, kako je podatkovna struktura v resnici predstavljena, važne so le metode za delo z njo. Abstraktni podatkovni tip je tip, katerega predstavitev je skrita in ne vpliva na kodo programa.

Sklad

Vsaka podatkovna struktura mora imeti metode za vstavljanje, brisanje, iskanje in podobno. Sklad je podatkovna struktura vrste LIFO (last in first out). Podatke torej vstavljamo in jemljemo na istem koncu. Nad skladom so definirane metode:

  • Pripravi sklad (new)
  • Vsatvi v sklad (push)
  • Poglej element na vrhu sklada (peek)
  • Odstrani element na vrhu sklada (pop)
  • Je prazen (empty)

    (http://www2.nauk.si/files/560/s2.gif)

Sklad uporabljamo za:

  • shranjevanje zaporedja strani v brskalniku (back funkcija)
  • shranjevanje zaporedja ukazov (undo)
  • dodeljevanje pomnilnika ob rekurziji
  • pomožni pomnilnik pri drugih podatkovnih strtukturah in algoritmih

Grafični vmesnik za sklad

IDEJA REŠITVE
Grafični vmesnik sem si zamislila tako, da bo uporabniku omogočal sestavljanje sklada. Lahko bo dodajal in ostranjeval elemente iz sklada. V ListBoxu se bo sklad gradil, tako da bo uporabnik videl kako zgleda sestavljanje, prav tako pa bo imel na vsakem koraku možnost preveriti, če je sklad prazen ter kateri je zadnji element v skladu.

(http://www2.nauk.si/files/560/a1.png)
zaslonska slika programa

Razlaga algoritma

V programu najprej ustvarimo bool spremenljivko, s katero bomo preverjali, če je uporabnik že pripravil sklad ter števec, ki bo štel elemnte v skladu. Nato sklad pripravimo.

(http://www2.nauk.si/files/560/b1.png)

Spodaj je prikazana koda metode, ki se izvede ob pritisku na gumb pripravi sklad. V tem koraku le nastavimo spremenljivko obstaja na true, ter uporabnika opozorimo, da je sklad pripravljen. Če je sklad pripravljen še od prej, potem uporabnika na to opozorimo.

(http://www2.nauk.si/files/560/b2.png)
(http://www2.nauk.si/files/560/a2.png)
slika programa po kliku na gumb pripravi sklad

Razlaga algoritma

S klikom na gumb dodaj element v sklad, preberemo element iz vnosnega polja ter ga dodamo v sklad. V kodi najprej preverimo, da sklad obstaja ter da vnosno polje ni prazno. Če so pogoji izpolnjeni, potem preberemo element iz vnosnega polja, ga dodamo v sklad ter uporabnika opozorimo, da je bil element dodan. Če pogoji nisi izpolnjeni, potem uporabnika na to opozorimo.

(http://www2.nauk.si/files/560/sl1.png)
(http://www2.nauk.si/files/560/a3.png)
slika programa po kliku na gumb dodaj element v sklad

Razlaga algoritma

Ob kliku na gumb poglej elemnt na vrhu sklada, izpišemo zadnji dodani element v sklad. V kodi preverimo, če je sklad že pripravljen in če je v njem sploh že kakšen element. Če so pogoji izpolnjeni potem izpiše zadnji element, če pa niso pa izpišemo ustrezno opozorilo.

(http://www2.nauk.si/files/560/b4.png)


(http://www2.nauk.si/files/560/no2.png)
slika programa po kliku na gumb poglej element na vrhu sklada

Razlaga algoritma

Pri kliku na gumb odstrani element iz sklada, odstranimo zadnji dodani element. V kodi preverimo, če je sklad že pripravljen in če je v njem sploh že kakšen element. Če so pogoji izpolnjeni potem odstranimo zadnji element, če pa niso pa izpišemo ustrezno opozorilo.

(http://www2.nauk.si/files/560/b5.png)


Slika programa pred in po kliku na gumb odstrani element iz sklada:

(http://www2.nauk.si/files/560/no1.png) (http://www2.nauk.si/files/560/no4.png)

Razlaga algoritma

S klikom na gumb preverjamo ali je sklad prazen. Če je števec elementov večji od 0 potem sklad ni prazen. Uporabniku izpišemo opozorilo.

(http://www2.nauk.si/files/560/b6.png)


(http://www2.nauk.si/files/560/no5.png)
zaslonska slika po pritisku na gumb preveri ali je sklad prazen

Razlaga algoritma

Pei kliku na gumb izbriši celoten sklad, najprej pripravimo nov sklad. To naredimo zato, da imamo nov prazen sklad za nadaljevanje. Uporabniku izpišemo opozorilo, izbrišemo seznam v ListBoxu ter spremenljivko, ki preverja če je sklad pripravljen, spremenimo v false. Prav tak števec elementov v skladu nastavimo na 0. Če sklad še ni bil ustvarjen, uporabnika na to opozorimo.

(http://www2.nauk.si/files/560/b7.png)


(http://www2.nauk.si/files/560/a8.png)
zaslonska slika po pritisku na gumb izbriši celoten sklad

Kviz - 1.vprašanje

Kaj je sklad?

Postopek, ki nam omogoča delo s podatki
Računalniško orodje
Podatkovna struktura

Odgovor je napačen! Ponovno

Odgovor je pravilen! Naprej

Kviz - 2.vprašanje

Kaj pomeni kratica LIFO?

Last information for out
Last file open
Last in first out

Odgovor je napačen! Ponovno

Odgovor je pravilen! Naprej

Kviz - 3.vprašanje

Kateri podatek vzamemo iz sklada?

Prvi dodani
Sredinski element
Zadnji dodani

Odgovor je napačen! Ponovno

Odgovor je pravilen! Naprej

Kviz - 4.vprašanje

Katera metoda ni definirana nad skladom?

Peek
Jump
Pop

Odgovor je napačen! Ponovno

Odgovor je pravilen! Naprej
0%
0%