2017-06-14 136 views
1

我無法打印鏈接列表,它無限打印4作爲值。這段代碼有什麼問題?在下面的代碼中,我試圖在添加每個元素的同時實現一個單鏈表,而我試圖打印它無限打印4作爲輸出任何想法爲什麼?在java中打印鏈表

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(); 
     } 
    } 

回答

4

這裏的問題:

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; 
     } 
    } 

解決您的問題。

+0

Thanks Bro .. :) – Gowtham