递归思路(另附一个迭代小实例)
来源:互联网 发布:matlab破解软件 编辑:程序博客网 时间:2024/06/08 19:20
设计递归方法三个步骤:
1.创建一个新对象或者克隆一个新对象
2.把对象的下一个索引地址作为参数传给当前递归方法
3.返回当前新创建的对象
例:
public static Entry deepHash(Entry en){
return new Entry(en.key,en.value,en.next==null?null:deepHash(en.next)); // 新对象,把下一个索引作为参数传递,返回创建的对象
}
public static Entry deepHash(Entry en){
if(en.next != null){
try {
Entry entry = (Entry) en.clone(); // 克隆得到新对象
entry.next = deepHash(en.next); // 将下一个索引作为参数传递给递归方法
return entry; // 返回当前克隆得到的新对象
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
return null;
}
迭代小实例:
public Entry deepClone(Entry en){
Entry entry = new Entry(en.key,en.value,en.next);
for(Entry p = entry; p.next!=null;p=p.next){
p.next = new Entry(p.next.key,p.next.value,p.next.next);
}
return entry;
}
- 递归思路(另附一个迭代小实例)
- 递归的一个实例
- 一个递归实例
- MATLAB一个递归实例
- 一个简单的递归实例
- 杭电 2553 N皇后问题 递归回溯 打表 附解题思路
- Android入门攻略(另附一个简单的带socket的模仿QQ实例)
- 一个PHP缓存类,附三个实例Demo代码
- SSH脚手架写法的一个思路及实例
- 递归使用的思路
- 背包问题 递归思路
- 无限分级的递归算法, 另附顺序调整
- 递归实例
- 递归实例
- 递归实例
- 一个经典的递归算法题(实例+源码)
- 每天一个JavaScript实例-递归实现反转数组字符串
- PHP递归算法的一个实例 帮助理解
- win7下java通过JNI调用C代码
- java中String、StringBuffer、StringBuilder的区别
- 909422229_SpringBoot深入理解
- bnu51124 Simple String Problem
- disruptor 解析
- 递归思路(另附一个迭代小实例)
- jxls导出功能代码
- Thinkphp模板引擎(疑问)
- Underscore.js 中 _.throttle 和 _.debounce 的差异
- Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
- 【转】Spring+Netty+Protostuff+ZooKeeper实现轻量级RPC服务(二)
- *(网络流)费用流复习~
- android 6.0+ java.lang.IllegalStateException did not call finish() prior to onResume() completing
- Javascript值类型和引用类型