Re: [问题] linked list 循环改递回

楼主: solinari (soli)   2014-08-12 05:36:55
我目前已经写出来了
但addNthRec(int n, int v)跟removeNthRec(int n)里
刚开始那个计算 linked list 的长度还是有用到循环
有没有办法把那改成 recursive 的形式写在同个function里呢?
还是有什么不需要用到循环的方法?
※ 引述《solinari (soli)》之铭言:
: 开发平台(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
作者: lNishan (紫小霓)   2014-08-13 13:38:00
Linked List的Size 应该要设一个变量去维护初始等于0,insert的时候+1,remove的时候-1

Links booklink

Contact Us: admin [ a t ] ucptt.com