繁体   English   中英

我的项目需要一点帮助

[英]A little help needed on my project

我正在开发一个 JAVA 项目作为我的任务。 在 LinkedList class 的一部分中,我坚持使用递归。 谁能帮我写这个 function? 问题是如何为 LinkedList class 编写递归实例方法,该方法以相反的顺序和 LinkedList 长度的长度打印链表实例(我猜有不同的两个函数)? 我的 LinkedList class 就像:

public class Node
{
public int data;
public Node next;
public Node (int data)
{
this.data = data;
}
}

public class LinkedList
{
private Node first;
public LinkedList
{
first = null;
}
}

例如,这是我的 LinkedList 的插入递归方法

private void insertRec(Node n, int data)
{
if(n == null)
{
Node newNode = new Node(data);
return newNode;
}

if(data > n.data)
n.next = insertRec(n.next,data);
return n;
}

将此添加到节点 class:

public void printReverse() {

  if ( next != null ) {
    next.printReverse();
  }

  System.out.println(data);
}

这个链接到LinkedList class:

print void printReverse() {
  System.out.println("(");

  if ( first == null ) {
    first.printReverse();
  }

  System.out.println(")");
}

您应该尝试更改此代码以正常打印列表:)(这是一个非常简单的更改)。

public static void reversePrint (LinkedList l)
  {
    if (l != null) {
      reversePrint(l.next);
      System.out.println(l.value);
    }
  }

用于计算链表的长度

 public static int length (LinkedList l)
  {
    if (l == null)
      return 0;
    else
      return 1 + length(l.next);
  }

执行此操作的常用方法是使用“当前”列表元素(从第一个列表节点开始)调用您的 traverse 方法。 该方法检查它是否具有列表的最后一个元素。 如果不是,则使用下一个元素递归调用该方法。 然后打印出当前元素的值。

暂无
暂无

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

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