JAvaデュアルチェーンテーブル、ループなし
1555 ワード
そのように書けばいいので、はっきり書いてください.
今日やっと私が知的障害者であることに気づいたOrz
実行結果:
0 1 2 3 4 5 6 7 8 9
2
今日やっと私が知的障害者であることに気づいた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