keymasterviriya1150

EngineerConstucter

Sep 27th, 2016
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.55 KB | None | 0 0
  1.  
  2. import java.util.LinkedList;
  3.  
  4. public class Main2 {
  5.  
  6.     public static void main(String[] args) {
  7.         StackImp s = new StackImp();
  8.         s.push(1);
  9.         s.push(2);
  10.         s.push(3);
  11.         s.push(4);
  12.         System.out.println(s.count);
  13.         System.out.println(s.Itempeek());
  14.     }
  15. }
  16.  
  17. /**
  18.  * @inv isEmpty() implies elements.size() == 0
  19.  */
  20. class StackImp implements Stack {
  21.  
  22.     private final LinkedList elements = new LinkedList();
  23.     int count = 0;
  24.  
  25.     public void push(Object o) {
  26.         if (o != null) {
  27.             elements.add(o);
  28.             count++;
  29.         } else {
  30.             throw new RuntimeException("");
  31.         }
  32.     }
  33.  
  34.     @Override
  35.     public Object pop() {
  36.         final Object popped = top();
  37.         elements.removeLast();
  38.         return popped;
  39.     }
  40.  
  41.     @Override
  42.     public Object top() {
  43.         return elements.getLast();
  44.     }
  45.  
  46.     @Override
  47.     public boolean isEmpty() {
  48.         return elements.isEmpty();
  49.     }
  50.  
  51.     @Override
  52.     public int size() //  method update
  53.     {
  54.         return count;
  55.     }
  56.  
  57.     @Override
  58.     public Object Itempeek() //  method update
  59.     {
  60.         return top();
  61.     }
  62. }
  63.  
  64. interface Stack {
  65.  
  66.     /**
  67.      ** @pre o != null
  68.      * @post !isEmpty()
  69.      * @post top() == o
  70.      */
  71.     void push(Object o);
  72.  
  73.     /**
  74.      * @pre !isEmpty()
  75.      * @post @return == top @pre
  76.      */
  77.     Object pop();
  78.  
  79.     /**
  80.      * @pre !isEmpty()
  81.      */
  82.     Object top();
  83.  
  84.     boolean isEmpty();
  85.  
  86.     int size();
  87.  
  88.     Object Itempeek();
  89. }
Advertisement
Add Comment
Please, Sign In to add comment