好的,我知道通過交換項目直到達到中間位置來反轉陣列非常簡單。就像這樣:如何顛倒巨大尺寸的陣列?
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,那麼這種方法不會花太長時間? –