Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.LinkedList;
- public class Main2 {
- public static void main(String[] args) {
- StackImp s = new StackImp();
- s.push(1);
- s.push(2);
- s.push(3);
- s.push(4);
- System.out.println(s.count);
- System.out.println(s.Itempeek());
- }
- }
- /**
- * @inv isEmpty() implies elements.size() == 0
- */
- class StackImp implements Stack {
- private final LinkedList elements = new LinkedList();
- int count = 0;
- public void push(Object o) {
- if (o != null) {
- elements.add(o);
- count++;
- } else {
- throw new RuntimeException("");
- }
- }
- @Override
- public Object pop() {
- final Object popped = top();
- elements.removeLast();
- return popped;
- }
- @Override
- public Object top() {
- return elements.getLast();
- }
- @Override
- public boolean isEmpty() {
- return elements.isEmpty();
- }
- @Override
- public int size() // method update
- {
- return count;
- }
- @Override
- public Object Itempeek() // method update
- {
- return top();
- }
- }
- interface Stack {
- /**
- ** @pre o != null
- * @post !isEmpty()
- * @post top() == o
- */
- void push(Object o);
- /**
- * @pre !isEmpty()
- * @post @return == top @pre
- */
- Object pop();
- /**
- * @pre !isEmpty()
- */
- Object top();
- boolean isEmpty();
- int size();
- Object Itempeek();
- }
Advertisement
Add Comment
Please, Sign In to add comment