Izpitno vprašanje RAČ2PRA 4600

Iz MaFiRaWiki

(Razlika med različicami)
Različica od 10:23, 9 april 2007
Skalan (Pogovor | prispevki)
Odgovor:
← Prejšnja različica
Različica od 10:28, 9 april 2007
Skalan (Pogovor | prispevki)
Odgovor:
Naslednja različica →
Vrstica 29: Vrstica 29:
// metode: // metode:
- public void vstavi(int pod){ // vstavimo podatek v sklad+ public void vstavi(int podatek)throws Exception{ // vstavimo podatek v sklad
if(kam > tabela.length) throw new Exception("Sklad je poln."); if(kam > tabela.length) throw new Exception("Sklad je poln.");
else{ else{

Različica od 10:28, 9 april 2007

GFDL Avtor tega članka je študent/ka Skalan.

Pripravil/a ga je pri predmetu Računalništvo 2 (FMF PRA).


Kljub temu ste vsi vabljeni k urejanju in popravkom, saj je bistvo wikija ravno v sodelovalnem delu.

Vprašanje:

Predstavitev sklada s tabelo!

Odgovor:

- Elemente hranimo v tabeli (cela števila)

- Problem: omejena velikost

- Uporabnik sam poskrbi zato, da ne prekorači zmogljivosti sklada


  1. public class SkladTabela{
  2. private int[] tabela;
  3. private int kam; // kazalec na mesto, kjer bomo vstavili nov element
  4. private final static int MAX_V = 20; // privzeta velikost sklada
  5.  
  6. // kostruktorja:
  7. public SkladTabela(){ //sklad privzete velikosti
  8. tabela = new int[MAX_V]; //naredimo prazno tabelo s prostorom za MAX_V elementov
  9. kam = 0;
  10. }
  11. public SkladTabela(int velikost){
  12. tabela = new int[velikost];
  13. kam = 0;
  14. }
  15.  
  16. // metode:
  17. public void vstavi(int podatek)throws Exception{ // vstavimo podatek v sklad
  18. if(kam > tabela.length) throw new Exception("Sklad je poln.");
  19. else{
  20. tabela[kam] = podatek;
  21. kam = kam + 1; //premanemo se naprej na naslednji element
  22. }
  23. public void odstrani(){ // odstranimo podatek iz sklada
  24. // ce je sklad prazen, ne naredimo nič
  25. if (!prazen())
  26. kam = kam - 1; //indeks premaknemo za eno mesto nazaj - tabela namreč ne pozna brisanja
  27. }
  28. public boolean prazen(){ // ali je sklad prazen
  29. return (kam == 0);
  30. }
  31. public int vrh(){ // vrnemo vrhnji element sklada
  32. if (!prazen()){
  33. return tabela[kam - 1]; // kam kaže na prvo PROSTO mesto
  34. }
  35. //sicer vrnemo napako; // v primeru praznega sklada
  36. }
  37. public boolean poln(){ // je sklad poln?
  38. return (kam == tabela.length);
  39. }
  40. public void izpis(){ // izpisemo sklad
  41. for(int i = kam - 1; i >= 0; i--)
  42. System.out.print(tabela[i] + " ");
  43. }}}
Osebna orodja