本文主要是介绍单链表之递归算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.递归定义
定义:用一个概念本身直接或间接的定义它自己。
递归定义必须满足以下两个条件:
(1).至少有一条初始定义是非递归的。
(2).由已知函数值逐步递推计算出未知函数值。
2.单链表之递归结构
单链表是递归结构,每个结点的next域指向有其后诸结点组成的一条单链表,最后一个结点的next链指向空链表。因此,遍历等操作也可以采取递归算法。例如,递归的toString()方法声明如下:
public String toString(){return"("+this.toString(this.head)+")";
}public String toString(Node<E> p){//递归算法if(p!=null){return p.data.toString()+","+this.toString(p.next);//递归调用,相当于p=p.next;}return "";
}
这篇关于单链表之递归算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!