JAvaデュアルチェーンテーブル、ループなし


そのように書けばいいので、はっきり書いてください.
今日やっと私が知的障害者であることに気づいたOrz
package DoubleLink;

public class DoubleLink {
	public Node pointer;
	public Node head;
	public Node tail;
	public int size;
	public DoubleLink()
	{
	 	head=new Node();
	 	tail=head;
	 	tail.root=head;
	 	head.next=tail;
	 	size=0;
	 	
	}
	public void AddNode(int i)
	{
		Node node=new Node(i);
	  tail.LinkNext(node);
	  node.UpRoot(tail);
	  tail=node;
	  size=size+1;
	}
	public Node getNode(int index)
	{
     pointer=tail;
     int current=0;
     while(current!=size-index)
     {
    	 pointer=pointer.root();
    	 current++;
     }
     return pointer;
	}
	public void printLink()
	{
		pointer=head.next();
		while(pointer!=tail)
		{
			System.out.print(pointer.getValue()+" ");
			pointer=pointer.next;
		}
		System.out.println(tail.getValue());
	}
}
class Node
{
	Node next,root;
	int value;
	public Node(){}
	public Node(int value)
	{
		this.value=value;
	}
	public Node next()
	{
		return this.next;
	}
	public int getValue()
	{
		return this.value;
	}
	public void LinkNext(Node node)
	{
		this.next=node;
	}
	public Node root()
	{
		return this.root;
	}
	public void UpRoot(Node node)
	{
		this.root=node;
	}
}
package DoubleLink;

public class LinkTest {
public static void main(String[] args)
{
	DoubleLink link=new DoubleLink();
	Node node=new Node();
	for(int i=0;i<10;i++)
	{
		
		link.AddNode(i);	
	}
	link.printLink();
	System.out.println(link.getNode(3).getValue());
	
}
}

実行結果:
0 1 2 3 4 5 6 7 8 9
2