java 自定义单向链表实现“反序”输出

来源:互联网 发布:华为交换机端口速率 编辑:程序博客网 时间:2024/05/11 20:03

要求: 自定义单向链表 , 并且倒序输出。

自定义一个链表类–>

class SingleLink {    private SingleLink nextLink;    private Integer num;    public void insert(int num) {        add(this, num);    }    //如果没有找到位置就一直往下找,直到找到为止。    private void add(SingleLink link, int num) {        if (link.num == null) {            link.num = num;            return;        }        if (link.nextLink == null)            link.nextLink = new SingleLink();        add(link.nextLink, num);    }    public void print() {        show(this);    }    // 这里利用回溯倒序输出     private void show(SingleLink link) {        if (link == null) {            System.out.println();            System.out.println("--------------------------");            return;        }        if (link.num != null) {            System.out.print(link.num + " ");        }        show(link.nextLink);        if (link.num != null)            System.out.print(link.num + " ");    }}

测试代码–>

public class Test {    public static void main(String[] args) {        SingleLink link = new SingleLink();        link.insert(1);        link.insert(2);        link.insert(3);        link.insert(4);        link.insert(5);        link.print();    }}

最终输出–>

1 2 3 4 5 --------------------------5 4 3 2 1 
0 0