繁体   English   中英

用Java打印链表

[英]Printing linked list in java

我无法打印链接列表,它无限地打印4作为值。 此代码有什么问题? 在下面的代码中,我尝试在添加每个元素之后实现一个单链列表,同时尝试将其无限打印,将4打印为输出,您知道为什么吗?

  import java.util.*;
    class Linkedit{
        static class Node{
            static Node next;
            int data;
            Node(int t){
                data=t;
                next=null;
            }
        }
        Node head=null;
        public void insert(int data){
            Node k=new Node(data);
            k.next=head;
            head=k;
        }
        public void show(){
            Node a=head;
            while(a!=null){
                System.out.println(a.data);
                a=a.next;
            }
        }
        public static void main(String args[]){
            Linkedit g=new Linkedit();
            g.insert(3);
            g.insert(4);
            g.insert(5);
            g.show();
        }
    }

这是问题所在:

static Node next;

next成员不应为静态,因为每个Node应具有不同的next值。

改变中

    static class Node {
        static Node next;
        int data;
        Node(int t){
            data=t;
            next=null;
        }
    }

    static class Node {
        Node next;
        int data;
        Node(int t){
            data=t;
            next=null;
        }
    }

解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM