Объединить два отсортированных связанных списка. Есть ли лучший способ создать новые заголовки связанных списков в java? - PullRequest
0 голосов
/ 21 июня 2020

В этой программе я создал головной узел внутри класса LinkedList.

public class LinkedList {
public class Node {
    public int data;
    public Node next;
}

Node Head=null
void IntersectionOfTwoSortedLists(Node ListA, Node ListB){

    while (ListA!=null && ListB!=null) {
        if (ListA.data == ListB.data){
            System.out.println(ListA.data);
            InsertAtEnd(ListA.data);
        }
        if(ListA.data<ListB.data)
            ListA=ListA.next;
        else
            ListB=ListB.next;
    }
}

, а основная функция в другом классе выглядит так.

public static void main(String[] args) {
    LinkedList list = new LinkedList();
    LinkedList list2= new LinkedList();
    for(int i=0;i<n;i++){
        list.InsertAtEnd(sc.nextInt());
    }
    System.out.println("Enter the list 2 elements");
    for(int i=0;i<n;i++){
      list2.InsertAtEnd(sc.nextInt());
    }

    LinkedList intersect= new LinkedList();
    intersect.IntersectionOfTwoSortedLists(list.Head,list2.Head);

создание новый объект класса связанного списка каждый раз, когда это хорошая практика или есть лучший способ сделать это? Заранее спасибо!

1 Ответ

1 голос
/ 21 июня 2020

Если вы выполняете операции над двумя разными списками, в таком случае вам нужно создать два разных объекта. вы можете использовать копию, но здесь, в вашем случае, это не сработает, потому что если вы это сделаете, то обновление в одном списке повлияет и на другие.

...