好的,我知道通过交换项目直到达到中间位置来反转阵列非常简单。就像这样:如何颠倒巨大尺寸的阵列?
int array[SIZE];
int temp;
for (int i = 0; i < SIZE/2; i++)
{
temp = array[i];
array[i] = array[SIZE-1 - i];
array[SIZE-1 - i] = temp;
}
但如果数组的大小确实是巨大的像10000是什么?是否可以做到O(N)?
你现在正在做O(N)。 O()的全部意义在于它没有被指定。 –
你写的代码已经是O(n)。更确切地说,它运行n/2次迭代。 –
好吧,我明白了,但如果大小等于1000000,那么这种方法不会花太长时间? –