可以将单链表看成是递归定义的,每个结点的next域指向由后诸结点组成的一条子单链表,最后一个结点的next域指向空链表。此时可以将单链表写成递归算法。
1、构造空链表
public class LinkedRecursion<T> {
public Node<T>head;
//构造函数,构造空链表
public LinkedRecursion(){
this.head=new Node<T>();
}}
2、根据数组构造单链表
//根据指定数组构造链表
public LinkedRecursion(T [] element){
this();
if(element!=null){
this.head.next=create(element,0);
}
}
private Node<T> create(T[] element, int i) {
// TODO Auto-generated method stub
Node<T> p=null