单链表从尾到头输出元素

思路:0 若允许改变链表指针,可以将链表反转,然后在正向输出。

http://blog.csdn.net/shuaishuai3409/article/details/50756406
http://blog.csdn.net/shuaishuai3409/article/details/50756480参照这两篇博客实现单链表反转。如果反转会了,正向输出也就不难了。

  1. 若不允许改变链表指针,可以新建一个栈,实现后进先出。

  2. 若也不允许创建新的空间,可以用递归实现。因为栈用的就是递归的思想,每当访问一个节点时,先输出其后面节点的数据。

这里先给出递归实现逆向输出。

public class BackOutput {

    public void backout(Lnode p) {
        if(p.next!=null){
            backout(p.next);
        }
        System.out.println(p.data);
    }

}

该代码还是要参照上述两个连接。p指的是链表头指针,Lnode是链表类。

用栈的思想实现单链表元素逆向输出。
栈分顺序栈和链栈,链栈和单链表相似,就不考虑了。这里用数组实现顺序栈。

你可能感兴趣的:(单链表从尾到头输出元素)