如何打印出链表?

时间:2019-04-16 01:41:43

标签: java linked-list

有人可以用我编写的代码帮助我解决此问题吗?

运行时,它不会打印出链表的值。我不明白这是什么问题,运行代码时,编译器一直显示空白屏幕。

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 个答案:

答案 0 :(得分:1)

您的代码正在执行此操作:

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

这会将head中的null设置为变量node。您未设置head的值。

您应该这样做(将node的值设置为变量head):

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

答案 1 :(得分:1)

在Link类中,您需要更改以下内容:

if (head == null)
{
    node=head; //<-- change this to   head = node;
}

答案 2 :(得分:0)

??您必须那样做吗? Java已经有了LinkedList实用程序,使其变得更容易。