【发布时间】:2018-10-08 19:47:53
【问题描述】:
我的老师分配了一个程序来创建一些随机数的链表。我将从列表中创建它,然后任务的第二部分是反转它。实际报价是
编写一个名为 reverseLinkedList() 的 Java 方法,该方法将生成一个 从您在问题中创建的链表中反转链表 1. 你的方法应该接受一个链表作为输入并返回另一个链表,它的节点引用反向 命令。请不要反向打印原始列表。这个想法是 操作节点引用,以便将节点保留在 它们的顺序与最初创建的顺序相同。
到目前为止我生成的代码看起来像
import java.util.*;
public class progassignment2
{
public static void main(String args[])
{
List<Integer> myList = new ArrayList<Integer>();
Random ran = new Random();
int ranNum;
for(int x = 0;x<5;x++)
{
ranNum = ran.nextInt(500);
myList.add(x,ranNum);
}
LinkedList<Integer> mylinklist = createLinkedList(myList);
System.out.println(mylinklist);
LinkedList<Integer> mylinklistrev = reverseLinkedList(mylinklist);
}
public static LinkedList createLinkedList(List<Integer> integerList)
{
LinkedList<Integer> linkedlist = new LinkedList<Integer>();
linkedlist.addAll(integerList);
return linkedlist;
}
public static LinkedList reverseLinkedList(LinkedList inputList)
{
for(int y = 0;y < inputList.size();y++)
{
inputList.addLast(inputList.pollFirst());
}
return inputList;
}
}
但是我认为我没有正确完成作业,或者我理解他的要求,很遗憾不会回答任何问题,只是引用“阅读作业”。非常感谢任何帮助
【问题讨论】:
-
鉴于问题中的低级细节(即明确引用节点),我非常怀疑您应该使用
java.util.LinkedList,而是实现您自己的链表。取决于它是单链接还是双链接会影响您从原始链接创建反向链接列表的方式... -
你在问题 1 中创建的链表是什么?仔细阅读作业以理解它。就像@d.j.brown 所说,我认为您不应该使用
java.util.LinkedList,而是您自己的链接列表实现,我假设您在问题 1 中创建。 -
是的,你可能是对的,作业页面没有注明:/
标签: java list linked-list