Вставить после определенного элемента в Java LinkedListJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Вставить после определенного элемента в Java LinkedList

Сообщение Anonymous »

Я пытался написать функцию InsertAfter, чтобы вставить элемент после определенного элемента в LinkedList. Ниже приведен код. Функция InsertAfter не выдает желаемый результат. Может кто-нибудь помочь мне, какую ошибку я допустил в приведенной ниже функции InsertAfter, которую мне нужно исправить.
import java.util.Scanner;
import java.lang.Exception;
import java.lang.StringBuilder;
import java.util.ArrayList;
import java.util.*;
import java.util.regex.*;
import java.util.stream.Collectors;

class SingleLinkedList
{
public class Node
{
public T data;
public Node nextNode;
}

public Node headNode;
public int size;

public SingleLinkedList()
{
headNode = null;
size = 0;
}

public boolean isEmpty()
{
if (headNode == null)
{
return true;
}
return false;
}

public void insertAtHead(T data)
{
Node node = new Node();
node.data = data;
node.nextNode = headNode;
headNode = node;
size++;
}

public void insertAtEnd(T data)
{
if (isEmpty())
{
insertAtHead(data);
return;
}

Node newNode = new Node();
newNode.data = data;
newNode.nextNode = null;

Node last = headNode;
while (last.nextNode != null)
{
last = last.nextNode;
}

last.nextNode = newNode;
size++;
}

public void insertAfter(T data1, T data2)
{
if (isEmpty())
{
System.out.println("The list is empty");
return;
}

Node insertNode = new Node();
insertNode.data = data2;

Node temp = headNode;
while (temp.data != data1)
{
temp = temp.nextNode;
}

insertNode.nextNode = temp;
temp = insertNode;
size++;

}

public void printList()
{
if (isEmpty())
{
System.out.println("The list is empty.");
return;
}

Node temp = headNode;
System.out.println("List : ");
while (temp.nextNode != null)
{
System.out.print(temp.data.toString() + "->");
temp = temp.nextNode;
}

System.out.println(" null");
}
}

public class Solution
{
//static String originalString="AbcDef";

// arguments are passed using the text field below this editor
public static void main(String[] args)
{
SingleLinkedList sll = new SingleLinkedList();
sll.printList();
for (int i = 0; i 1->2->3->4->5->6->7->8->9-> null
The size of the list is : 11
List :
0->1->2->3->4->5->6->7->8->9-> null
The new size of the list is : 12



Подробнее здесь: https://stackoverflow.com/questions/742 ... dlist-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»