[問題] 怎麼將遞迴改成迴圈...?

看板C_and_CPP (C/C++)作者 (B1ack3y3)時間13年前 (2013/04/04 19:32), 編輯推噓2(207)
留言9則, 5人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Mac OS X 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 如何將遞迴改成迴圈? 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/ukDT3feM 補充說明(Supplement): N年前在修課時寫了一段遞迴的程式碼, 可以正確的得到結果。 但現在要練習Pthread,所以想要把這段程式碼先用迴圈改寫,再加上Pthead。 我知道我應該要用個stack去保存遞迴呼叫時的參數, 但其他部分要怎麼做實在沒方向.. 整個下午亂亂改也還是亂七八糟, 索性就把亂改的結果刪掉了..現在要重新來過。 想請版上的大大給予指導啊..非常感謝 ------------------------------------ 另外想問, 如果想要做平行化。是不是程式裡面就不能有遞迴啊? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.201.97 ※ 編輯: B1ack3y3 來自: 111.240.201.97 (04/04 19:33) ※ 編輯: B1ack3y3 來自: 111.240.201.97 (04/04 19:41)

04/04 21:49, , 1F
pthread不熟,平行化裡面可以有遞迴,不過就不平行了?
04/04 21:49, 1F

04/04 22:17, , 2F
Haskell 中的 Parallel 是用遞迴的 fib 做範例
04/04 22:17, 2F

04/04 22:22, , 3F
就以那範例來說,遞迴還是有可以平行的部份
04/04 22:22, 3F

04/04 23:31, , 4F
這例子難改了,不止要記column,還要記row跑到哪裡...
04/04 23:31, 4F

04/05 00:06, , 5F
隨便改了一個, http://ideone.com/MSSZQ6
04/05 00:06, 5F

04/05 00:08, , 6F
要注意的是stack很容易就爆了,自己改大一點
04/05 00:08, 6F

04/05 03:06, , 7F
平行還是可以有遞迴阿,C++ Concurrency in Action 有例子
04/05 03:06, 7F

04/05 14:59, , 8F
hpps好強@@, 謝謝!
04/05 14:59, 8F

04/05 14:59, , 9F
謝謝yoco315, 我去研究看看
04/05 14:59, 9F
文章代碼(AID): #1HNMJRgP (C_and_CPP)
文章代碼(AID): #1HNMJRgP (C_and_CPP)