Advertisement
Sylv3rWolf

Lab3Ex1

Oct 19th, 2015
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.18 KB | None | 0 0
  1. /**
  2.  *
  3.  * @author MaxSylverWolf for LAB3 AIZ
  4.  */
  5. public class Stos extends Element implements IStos {
  6.    
  7.     public int[] stos = new int[100];
  8.     public int i;
  9.     public int pierwszy = 0;
  10.    
  11.     @Override
  12.     public void push(int i) throws ArrayIndexOutOfBoundsException {
  13.        
  14.         if(pierwszy <stos.length) {
  15.            
  16.             stos[pierwszy] = i;
  17.             pierwszy++;
  18.         } else {
  19.             throw new ArrayIndexOutOfBoundsException("STos jest pusty!");
  20.         }
  21.     }
  22.  
  23.     @Override
  24.     public int pop() throws IndexOutOfBoundsException {
  25.        
  26.         if(pierwszy <= 0) {
  27.            
  28.             throw new IndexOutOfBoundsException("Stos jest pusty!");
  29.         }
  30.        
  31.         int temp = stos[pierwszy-1];
  32.         pierwszy--;
  33.         return temp;
  34.     }
  35.  
  36.     @Override
  37.     public int peek() {
  38.        
  39.         return stos[pierwszy-1];
  40.     }
  41.  
  42.     @Override
  43.     public boolean isEmpty() {
  44.        
  45.         if(pierwszy == 0) {
  46.            
  47.             return true;
  48.            
  49.         } else return false;
  50.     }
  51.  
  52.     @Override
  53.     public void print() throws IndexOutOfBoundsException {
  54.        
  55.         if(pierwszy==0) {
  56.             throw new IndexOutOfBoundsException("Stos jest pusty!"); }
  57.          
  58.         int temp = pierwszy - 1;
  59.         do {
  60.         System.out.println("Element o ID "+temp+" to liczba "+stos[temp]);
  61.         temp--;
  62.     } while (temp>-1); }
  63.  
  64.     @Override
  65.     public void clear() {
  66.        
  67.         for(int i=0;i<pierwszy;i++) {
  68.            
  69.             stos[i] =0;
  70.         }
  71.     }
  72.  
  73. }
  74.  
  75.  
  76.  
  77.  
  78. public interface IStos {
  79.    
  80.  public void push(int i); // dodaje i na stos
  81.  public int pop(); // zdejmuje element, zwraca wartość z wierzchołka
  82.  public int peek(); // zwraca wartość z wierzchołka stosu
  83.  public boolean isEmpty(); // sprawdza, czy stos jest pusty
  84.  public void print(); // wypisuje na ekran zawartość stosu
  85.  public void clear(); // usuwa wszystkie elementy ze stosu
  86.  
  87. }
  88.  
  89.  
  90.  
  91. /**
  92.  *
  93.  * @author MaxSylverWolf
  94.  */
  95.  
  96.  
  97.  
  98. public class Main {
  99.  
  100.     /**
  101.      * @param args the command line arguments
  102.      */
  103.     public static void main(String[] args) {
  104.        
  105.         Stos stosy = new Stos();
  106.        
  107.        System.out.println("Wprowadzenie elementów na stos!");
  108.        stosy.push(5);
  109.        stosy.push(4);
  110.        stosy.push(7);
  111.        stosy.push(9);
  112.        stosy.push(5);
  113.        stosy.push(1);
  114.        stosy.push(15);
  115.        
  116.        System.out.println("Wydrukowanie elementów stosu:");
  117.        stosy.print();
  118.        
  119.        System.out.println("Zdejmowanie elementów ze stosu, wynik po zdjęciu elementów!");
  120.        stosy.pop();
  121.        stosy.pop();
  122.        stosy.print();
  123.        
  124.        System.out.println("Czy stos jest pusty? "+stosy.isEmpty());
  125.        
  126.        System.out.println("Wartość z wierzchołka stosu to: "+stosy.peek());
  127.        
  128.        System.out.println("Usunięcie wszystkich elementów ze stosu!");
  129.        stosy.clear();
  130.        
  131.        System.out.println("Powinny wyskoczyć zera");
  132.        stosy.print();
  133.     }
  134.    
  135. }
  136.  
  137.  
  138.  
  139. /**
  140.  *
  141.  * @author MaxSylverWolf
  142.  */
  143. public class Element {
  144.    
  145.     public int dane;
  146.     public Element next;
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement