Java 单个列表和列表节点之间有什么不同?
我不知道这个方法的功能是什么,甚至不知道它在计算机上是如何工作的,甚至不知道node和singlelist之间的区别Java 单个列表和列表节点之间有什么不同?,java,linked-list,Java,Linked List,我不知道这个方法的功能是什么,甚至不知道它在计算机上是如何工作的,甚至不知道node和singlelist之间的区别 ListNode是链接列表中的节点SingleList是一个链接列表 打个比方——节点是链中的一个环节;链表就是链本身。ListNode是链表中的一个节点,有一些代码可以更好地理解ListNode public static SingleList copy(SingleList list1){ SingleList list2 = new SingleList();
ListNode
是链接列表中的节点SingleList
是一个链接列表
打个比方——节点是链中的一个环节;链表就是链本身。ListNode是链表中的一个节点,有一些代码可以更好地理解ListNode
public static SingleList copy(SingleList list1){
SingleList list2 = new SingleList();
ListNode current=list1.head;
while (current != null){
list2.addLast(current.getData());
current=current.getNext();
}
return list2;
}
公共类列表
{
//基于参数列表和soFar返回链接列表
公共静态ListNode进程(ListNode列表、ListNode soFar)
{
if(list==null){
返回索法尔;
}
否则{
ListNode temp=list.getNext();
list.setNext(soFar);
返回过程(临时、列表);
}
}
//基于参数n返回一个新的链表
公共静态ListNode创建(int n)
{
ListNodeList=null;
对于(int k=1;k,我们只能猜测!SingleList可能是一个单链接列表,ListNode是列表中的一个节点。copy()是一个复制整个节点列表的方法。好的,我知道了,但它是如何工作的!!!它只将list1中具有“head”属性不为null的对象添加到新的SingleList中
public class List
{
// return a linked list based on parameters list and soFar
public static ListNode process(ListNode list, ListNode soFar)
{
if (list == null) {
return soFar;
}
else {
ListNode temp = list.getNext();
list.setNext(soFar);
return process(temp,list);
}
}
// return a new linked list based on parameter n
public static ListNode create(int n)
{
ListNode list = null;
for(int k=1; k <= n; k++) {
list = new ListNode(new String(""+k), list);
}
return list;
}
// print a linked list
public static void print(ListNode list)
{
while (list != null) {
System.out.print(list.getValue()+" ");
list = list.getNext();
}
System.out.println();
}
}