Re: [問題] linked list 迴圈改遞迴

看板C_and_CPP作者 (soli)時間9年前 (2014/08/12 05:36), 9年前編輯推噓0(002)
留言2則, 1人參與, 最新討論串2/2 (看更多)
我目前已經寫出來了 但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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 169.231.26.22 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1407793017.A.181.html ※ 編輯: solinari (169.231.26.22), 08/12/2014 05:45:24 ※ 編輯: solinari (169.231.26.22), 08/13/2014 02:14:22

08/13 13:38, , 1F
Linked List的Size 應該要設一個變數去維護
08/13 13:38, 1F

08/13 13:39, , 2F
初始等於0,insert的時候+1,remove的時候-1
08/13 13:39, 2F
文章代碼(AID): #1JwJTv61 (C_and_CPP)
文章代碼(AID): #1JwJTv61 (C_and_CPP)