[問題] 關於stack和heap的一些疑問

看板C_and_CPP作者 (我只是來潛水)時間6年前 (2017/10/14 14:40), 6年前編輯推噓1(104)
留言5則, 2人參與, 6年前最新討論串1/1
請問各位大大會把遞迴改寫成 stack(資料結構)+迴圈嗎? 因為stack(資料結構的)裡面會有new之類的語法,所以會存在Heap memory裡面,而stack memory速度我記得是優於heap memory,我這樣改不是效能就變低了嗎? 還是就為了避掉stack overflow? 可是heap memory不是也有類似的問題嗎? 想聽聽各位大大的看法 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.47.210 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1507963227.A.536.html

10/14 14:51, 6年前 , 1F
不要 new 太多次就可以了,stack 可以用 array 實作
10/14 14:51, 1F

10/14 15:46, 6年前 , 2F
真的很在乎速度時,就改寫,stack 也自己寫,用陣列。
10/14 15:46, 2F
謝謝大大回覆,因為我本身也是使用自己寫的,不過會不會太大塊的記憶體不好分配(因 為記憶體破碎) ※ 編輯: rbufghj9713 (111.249.47.210), 10/14/2017 15:49:16

10/14 16:01, 6年前 , 3F
這麼擔心的話,可以用 static array 就沒有分配問題了~
10/14 16:01, 3F

10/14 16:02, 6年前 , 4F
解 UVa 的問題我很常用 static array
10/14 16:02, 4F
謝謝大大回應,我會再去找關鍵字 ※ 編輯: rbufghj9713 (111.249.47.210), 10/14/2017 16:20:48

10/14 16:21, 6年前 , 5F
不要想得太複雜,就是宣告一塊 global 的固定大小 array
10/14 16:21, 5F
了解,謝謝大大幫忙解惑 ※ 編輯: rbufghj9713 (111.249.47.210), 10/14/2017 17:34:05
文章代碼(AID): #1PuR5RKs (C_and_CPP)