微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么它不打印?链表

如何解决为什么它不打印?链表

我有一个问题,就是LinkedList类中的方法不打印任何内容..而我正在努力地了解问题所在,希望有人能帮忙

主要班级

    public static void main(String[] args) {
        LLnode a = new LLnode(10);
        LLnode b = new LLnode(20);
        LLnode c = new LLnode(50);
        LinkedList List1 = new LinkedList();
      
      List1.printAllNodes();
    }
}

LinkedList类

public class LinkedList {
   
   private LLnode head;
   
  public LLnode gethead() {
        return this.head;
    }
    public void sethead(LLnode LLnode) {
        this.head = LLnode;
    }
   // Constructor
   public LinkedList() {
      head = null;
   }
   // Example Method to check if list is empty
   public boolean isEmpty() {
      return head == null;
   }
   
   public void printAllNodes() {
    LLnode helpPtr = head;
    while (helpPtr != null) {
        System.out.print(helpPtr.getdata() + " ");
        helpPtr = helpPtr.getnext();
   }

为什么我不努力打印不打印

解决方法

这是因为您从未将任何节点添加到LinkedList。

代码可能如下。注意,节点将添加到列表的开头。

主类:

public static void main(String[] args) {
    LLnode a = new LLnode(10);
    LLnode b = new LLnode(20);
    LLnode c = new LLnode(50);
    LinkedList List1 = new LinkedList();
    List1.add(a).add(b).add(c);
  
  List1.printAllNodes();
}

}

LinkedList类:

public class LinkedList {
   
   private LLnode head;
   
  public LLnode gethead() {
        return this.head;
    }
    public void sethead(LLnode LLnode) {
        this.head = LLnode;
    }
   // Constructor
   public LinkedList() {
      head = null;
   }
   // Example Method to check if list is empty
   public boolean isEmpty() {
      return head == null;
   }
   
   public LinkedList add(LLnode node){
       LLnode oldHead = this.head();
       this.head = node;
       node.setNext(oldHead);
       return this;
   }

   public void printAllNodes() {
    LLnode helpPtr = head;
    while (helpPtr != null) {
        System.out.print(helpPtr.getdata() + " ");
        helpPtr = helpPtr.getnext();
   }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。