[问题] linked list 循环改递回

楼主: solinari (soli)   2014-08-11 06:13:38
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux
问题(Question):
我想把 void addNth(int n, int v) 和 int removeNth(int n) 这两个函式
写成 recursive 的形式在:
void addNthRec(int n, int v);
int removeNthRec(int n);
使用 private 的 helper function:
void addNthRec(Node *, int n, int v);
int removeNthRec(Node *, int n);
这两个函式的功能是根据给定的index, 增加或删除linkedlist的node.
我已经写好使用循环的版本, 可是不晓得该如何改成递回的版本
我才学一阵子而已, 有板友能帮忙解释该如何改吗?
我觉得递回有点难懂...
先谢谢大家
程式码(Code):(请善用置底文网页, 记得排版)
Node.h http://codepad.org/fWDz98gm
LinkedList.h http://codepad.org/HiWl4oKx
LinkedList.cpp http://codepad.org/GeKYvypv
作者: idleidle (格物致知 温故知新)   2014-08-11 07:38:00
作业?循环应该是比较好的方式。
楼主: solinari (soli)   2014-08-11 07:52:00
是作业.要写循环跟递回两种,可是我递回部分一直搞不清楚之前有写过比较简单的递回, 可是这个不知该从何下手..
作者: Feis (永远睡不着 @@)   2014-08-11 13:48:00
递回关系: 走一步, n 减一. 边界条件: n == 1 时插入在后n == 0 时看你 linked list 是怎么实作的

Links booklink

Contact Us: admin [ a t ] ucptt.com