Как распечатать связанный список? - PullRequest
0 голосов
/ 16 апреля 2019

Может кто-нибудь помочь мне решить эту проблему с кодом, который я написал?

Когда я запускаю, он не распечатывает значения связанного списка. Я не понимаю, в чем проблема, компилятор продолжает показывать пустой экран, когда я запускаю код.

public class Node {

    int data;
    Node next;

    public static void main (String Args [])
    {
        Link object = new Link ();
        object.insert(15);
        object.insert(30);
        object.insert(50);
        object.insert(70);
        object.show();
    }
}


public class Link {

    Node head;

    void insert (int data)
    {
        Node node = new Node();
        node.data=data;

        if (head == null)
        {
            node=head;
        }

        else
        {
            Node n = head;
            while (n.next != null)
            {
                n=n.next;
            }
            n.next=node;
        }

    }

    void show ()
    {
        Node n = head;
        while (n != null)
        {
            System.out.println(n.data);
            n=n.next;
        }

    }
}

Ответы [ 3 ]

1 голос
/ 16 апреля 2019

В вашем классе Link вам необходимо изменить следующее:

if (head == null)
{
    node=head; //<-- change this to   head = node;
}
1 голос
/ 16 апреля 2019

Ваш код делает это:

if (head == null)
{
    node=head;
}

Устанавливает ноль в head в переменную node. Вы не устанавливаете значение head.

Вы должны сделать это (установив значение node в переменную head):

if (head == null)
{
    head = node;
}
0 голосов
/ 16 апреля 2019

¿Вы должны сделать это таким образом? В Java уже есть утилита LinkedList, которая упрощает ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...