Я читал о реализации дерева в языке Java с помощью eclipse ... Я нашел методы push и pop, которые необходимо реализовать ... Вот два метода, реализованных моим учитель:контроль методов push и pop в реализации связанных списков
public class LimitedStack<E> {
private Node<E> first; // refererar till första elementet i listan
private Node<E> last; // refererar till sista elementet i listan
private int size; // antal element i listan
private int maxSize; // maximalt antal tillåtna element i listan
public LimitedStack(int maxSize) {
first = last = null;
size = 0;
this.maxSize = maxSize;
}
public void push(E x) {
Node<E> n = new Node<E>(x);
if (first == null) {//no overflow in this case
first = n;
size++;
} else { // add new node to front
n.next = first;
first = n;
if (size == maxSize) { //overflow, at least two elements
Node<E> p = first;
while (p.next.next != null) { //lookup second last
p = p.next;
}
p.next = null; //remove last from list
} else { //no overflow, increase size
size++;
}
}
}
public E pop() {
if (size == 0) {
return null;
}
E temp = first.element;
first = first.next;
size--;
return temp;
}
}
Когда я реализовал эти методы сам я так:
public void push(E x) {
if(first == null) {
first = new Node<E>(x);
} else if (size==maxSize) {
Node<E> act = first;
last =null;
first = new Node<E>(x);
first.next=act;
} else {
Node<E> act = first;
first = new Node<E>(x);
first.next=act;
}
size++;
}
public E pop() {
if(size == 0) {
return null;
} else {
Node<E> act = first;
first = act.next;
return act.element;
size--;
}
}
Является ли моя реализация правильно, если мы сравним его с ответом моего учителя?
Thanks
Это связанный список на основе ограниченного стека, ничего общего с деревом. –
, чтобы проверить, работает ли он правильно, создать несколько модульных тестов, отражающих различные сценарии использования, и сравнить, что делается с тем, что ожидается. –