public void insertBefore(T e) {
if(empty())
{
insert(e);
}
else
{
if(head == current)
{
current.next = new Node<T>(current.data);
current.data = e;
}
else
{
Node<T> oldCurrent = current;
Node<T> newNode = new Node<T>(e);
current = head;
while(current != oldCurrent)
current = current.next;
newNode.next = oldCurrent;
current.next = newNode;
current = current.next;
}
}
}
insertBefore (T e): требуется: список L не полный.вход: эл.результаты: новый узел, содержащий элемент e, создается и вставляется перед текущим элементом в списке.Новый элемент e становится текущим элементом.Если список пуст, то e вставляется в начало, а также делается элементом head.вывод: нет
метод вставки () implmention
public void insert(T e) {
Node<T> tmp;
if (empty()) {
current = head = new Node<T> (e);
}
else {
tmp = current.next;
current.next = new Node<T> (e);
current = current.next;
current.next = tmp;
}
}
Я реализую этот метод как реализатор, класс Linked List имеет два узла, текущий узел и заголовок, когда мы вставляем узелтекущий перемещается к самому новому узлу, добавленному в список .. и метод retrieve возвращает текущие данные в текущем узле. Мои вопросы - это когда я набираю следующее в моей основной строке, чтобы я мог проверить реализацию этого метода в своем связанном списке.я не получил результаты, которые я намеревался использовать для моего метода, поэтому
l.insert(2);
l.insert(3);
l.insert(4);
l.insertBefore(5);
l.findFirst();
for(int i = 0; i < 4 ; i++)
{
System.out.print(l.retrieve());
l.findNext();
}
результат моего тестирования: 2345 результатов: 2354