Izpitno vprašanje RAČ2PRA 5300

Iz MaFiRaWiki

Predmet Računalništvo 2 (FMF PRA)

Vprašanje

S pomočjo osnovnih operacij nad skladom iz danega sklada odstrani najmanjši element. Če jih je več, odstrani tistega, ki je v skladu najdlje.

Odgovor

Implementacija

  1. public static Sklad odstraniNajmanjsi(Sklad s){
  2. Sklad pom = new Sklad();
  3. if(s.prazen()) { return s; }
  4. else {
  5. int najm = Integer.MAX_VALUE;
  6. boolean prvi = true;
  7. while(!s.prazen()) {
  8. if(s.vrh() <= najm)
  9. najm = s.vrh();//najmanjšega nastavimo na vrh
  10. pom.vstavi(s.vrh());//ga vstavimo v Sklad pom
  11. s.odstrani();//in odstranimo
  12. }
  13. while(!pom.prazen()) {
  14. if (pom.vrh() == najm && prvi) {
  15. prvi = false;
  16. }
  17. else {
  18. s.vstavi(pom.vrh());
  19. }
  20. pom.odstrani();
  21. }
  22. }
  23. return s;
  24. }
Osebna orodja