Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.telerikacademy;
- import java.util.ArrayList;
- import java.util.EmptyStackException;
- import java.util.Iterator;
- import java.util.List;
- public class StackImpl<T> implements Stack<T> {
- private int count;
- private static class Node<T>{
- private T data;
- private Node next;
- private Node(T data){
- this.data = data;
- }
- }
- private Node<T> topElement;
- @Override
- public void push(T elem) {
- Node node = new Node(elem);
- node.next = topElement;
- topElement = node;
- count++;
- }
- @Override
- public T pop() {
- if(topElement == null){
- throw new IllegalArgumentException();
- }
- T data = topElement.data;
- topElement = topElement.next;
- count--;
- return data;
- }
- @Override
- public T peek() {
- if(topElement == null){
- throw new IllegalArgumentException();
- }
- return topElement.data;
- }
- @Override
- public int size() {
- return count;
- }
- @Override
- public boolean isEmpty() {
- return topElement == null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement