我正在网上评委之一提交我的代码。我的程序被接受。 但是,我的程序的某些部分需要最多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