双向链表:
import java.util.Random;
public class DoubleLink {
static DoubleLink link=creat(10);
int date;
DoubleLink prev,next;
public static DoubleLink creat(int len){
Random r=new Random();
DoubleLink header,newnode,tailer;
header=tailer=null;
for (int i = 0; i < len; i++) {
int temp=r.nextInt(100);
newnode=new DoubleLink();
newnode.date=temp;
//第一次赋值
if(header==null){
//头插法
header=tailer=newnode;
}else {
//尾(头)的下一位赋值 *
tailer.next=newnode;
//下一位向前赋值 *
newnode.prev=tailer;
//尾向后移动 *
tailer=newnode;
}
}
return header;
}
public static DoubleLink search(String d){
if(d.equals("up")){
link=link.prev;
}
if (d.equals("down")){
link=link.next;
}
return link;
}
}
class test2{
public static void main(String[] args) {
DoubleLink l1=DoubleLink.search("down");
DoubleLink l2=DoubleLink.search("down");
DoubleLink l3=DoubleLink.search("up");
System.out.println(l1.date+" "+l2.date+" "+l3.date);
}
}
运行结果:
46 3 46
Process finished with exit code 0