Мне нужно создать метод peek MidElement, чтобы вернуть средний элемент стека.
Поэтому я должен использовать ArrayList или алгоритм TORTOISE-HARE.
Ниже приведен мой класс, у которого есть метод с именем peekMidElement
.
Как мне сослаться Size()
на ArrayList
.
Когда я компилирую следующее, я получаю IndexOutOFBoundsExcption в ArrayList.RangeCheck(UnknownSource)
& в ArrayList.get(UnknownSource)
public class SortableStack<E extends Comparable<E>> implements ISortableStack<E> {
private int N;
private Node first;
private ArrayList<E> listOne = new ArrayList<E>();
/* I have to reference the Stack to array list
which I am going use for finding the size of the stack */
public boolean isEmpty() {
return first == null;
}
public int size() {
return N;
}
public E peekMidElement() {
if(listOne.size() <= 0){
throw new EmptyStackException();
}
return listOne.get(listOne.size()/2);
}