Izpitno vprašanje RAČ2PRA 4300

Iz MaFiRaWiki

Vprašanje

Način predstavitve APS Sklada v Javini knjižnici.

Odgovor

APS Sklad:

- Sklad je podatkovna struktura.

- V razredu Sklad morajo biti vse metode, ki delujejo tako, kot pričakujemo od sklada. Sklad se vedno obnaša po pravilu »prvi noter, zadnji ven«, kar pomeni, da lahko iz sklada odstranimo tisti element, ki je v skladu na zadnjem mestu.

- Sklad predstavimo z implementacijo metod: pripravi vrh, vstavi, odstrani, prazen

  • Konstruktor:

public Sklad() - naredi prazen sklad

  • Metode:

public boolean prazen() - vrne true, ce je sklad prazen in false, ce ni.
public E vrh() - Vrne element na vrhu sklada.
public E vstavi(E x) - Vstavi x na vrh sklada.
public E odstrani() - Odstrani element z vrha sklada.

structure SKLAD
begin
   declare // naštejemo operacije z vhodnimi in izhodnimi podatki
		pripravi: 0 → sklad;
		vstavi: (sklad, podatek) → sklad;
		vrh: sklad → podatek;
		odstrani: sklad → sklad;
		prazen: sklad → {true, false};
    where // opis delovanja operacij
		// kako se obnaša operacija prazen
		// dve možnosti – dobi prazen sklad ali pa dobi neprazen sklad
		prazen(pripravi) ::= true; // kako deluje metoda na poljubnem praznem skladu
		prazen(vstavi(s,p)) ::= false; // kako deluje metoda na poljubnem nepraznem skladu
		// kako se obnaša operacija odstrani
		// spet dve možnosti – dobi prazen sklad ali pa dobi neprazen sklad
		odstrani(pripravi) ::= NAPAKA; // kako deluje metoda na poljubnem praznem skladu
		odstrani(vstavi(s,p)) ::= s;  // vstavi(s,p) je LE EDEN OD NAČINOV, kako dobimo neprazen sklad
		// kako se obnaša operacija vrh
		vrh(pripravi) ::= NAPAKA; // lahko bi tudi bilo vrh(odstrani(vstavi(pripravi,p))) ::= NAPAKA
		vrh(vstavi(s,p)) ::= p;
end; // obnašanja operacij pripravi in vstavi ni bilo potrebno opisati – sta že določeni z obnašanjem ostalih!


2.) Grafična prestavitev sklada:

- s tabelo

- z linearnim seznamom

Osebna orodja