[英]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.