Java双向链表创建/输出---基础<Base>:

Java代码:

package com.linked;

class B{
    public  int data;       //数据
    public  B before=null;  //前驱
    public  B after=null;   //后继
    public B(){
    }
    public B(int data,B before,B after){
        this.data=data;
        this.before=before;
        this.after=after;
    }
}

public class Test2 {
    public static void main(String[] args) {
        B head=new B(0,null,null);
        B p=head;   //p 用于交换位置
        for (int i=1;i<10;i++){
            B e=new B(i,null,null);
            p.after=e;  //前一个指针after指向e
            e.before=p; //e的指针before指向前一个
            p=e;        //交换位置
        }
        B out1,out2;
        out1=head;  //用于链表正向输出
        out2=p;     //用于链表逆向输出
        while(out1.after!=null){
           System.out.print(out1.data);
            out1=out1.after;
       }
       System.out.print(out1.data+"\n"); //输出最后一个,因为它的指针(地址after)为空
       while(out2.before!=null){
            System.out.print(out2.data);
           out2=out2.before;
        }
        System.out.println(out2.data);//输出最后一个,因为它的指针(地址before)为空
    }
}

 测试结果:

 

 

 

posted @ 2019-11-07 21:07  Cool_Yang  阅读(250)  评论(0编辑  收藏  举报