我正在網上評委之一提交我的代碼。我的程序被接受。 但是,我的程序的某些部分需要最多10,000個元素的長整型數組。大小在運行時由裁判輸入。 我使用動態分配內存:替代動態分配內存?
int *array = new int[size];
但在運行時該吃大量的時間。我的執行時間很糟糕,導致排名不佳。 是否有任何考慮到程序的要求,更快地替代動態分配?
我不知道爲什麼,但靜態創建數組使用
int array[10000];
給了我一個「運行時錯誤(訪問衝突)」
PS(我認爲這是一個壞主意) :我只是一個初學者。
確定分配是什麼佔用了大部分的執行時間? – mclaassen 2014-09-12 19:16:34
您是否測量了整個程序的時間和分配時間(new int [size])? – Yotam 2014-09-12 19:19:54
如果我靜態分配內存,我的程序成功處理了10個測試用例,執行時間爲0.015秒,但內存分配使它成爲0.125秒。 – lazygeek 2014-09-12 19:21:45