[問題] linked list 迴圈改遞迴

看板C_and_CPP作者 (soli)時間9年前 (2014/08/11 06:13), 9年前編輯推噓0(005)
留言5則, 3人參與, 最新討論串1/2 (看更多)
開發平台(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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 169.231.26.22 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1407708821.A.0B2.html ※ 編輯: solinari (169.231.26.22), 08/11/2014 06:27:47

08/11 07:38, , 1F
作業?迴圈應該是比較好的方式。
08/11 07:38, 1F

08/11 07:52, , 2F
是作業.要寫迴圈跟遞迴兩種,可是我遞迴部分一直搞不清楚
08/11 07:52, 2F

08/11 07:56, , 3F
之前有寫過比較簡單的遞迴, 可是這個不知該從何下手..
08/11 07:56, 3F
※ 編輯: solinari (169.231.26.22), 08/11/2014 09:48:05

08/11 13:48, , 4F
遞迴關係: 走一步, n 減一. 邊界條件: n == 1 時插入在後
08/11 13:48, 4F

08/11 13:48, , 5F
n == 0 時看你 linked list 是怎麼實作的
08/11 13:48, 5F
文章代碼(AID): #1Jv-wL2o (C_and_CPP)
文章代碼(AID): #1Jv-wL2o (C_and_CPP)