輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。
[1,2,3,4,5,6,7]
[1,3,5,7,2,4,6]
以下實現了兩個方法,乙個是帶返回值的,另乙個是不帶返回值的。帶返回值的可以直接輸出檢視結果是否正確,不帶返回值的方法,可以通過debug檢視陣列元素的變化情況。
public arraylist reorderarray(int array) else
if((array[a]%2)==0)
}lista.addall(listb);//將偶數拼接在奇數後面
return lista;
}
public void reorderarray(int array) else
if((array[a]%2)==0)
}int m=0;
for(int j=0;jarray[m]=(int) lista.get(j);
m++;
}for(int k=0;karray[m]=(int) listb.get(k);
m++;
}}
調整陣列元素的順序前為奇數後為偶數
如題,考慮一種時間複雜度為o n 空間複雜度為o 1 的演算法,那就是維護兩個指標,分別指向陣列的首尾,然後分別判斷所指向的元素是奇數還是偶數,符合條件指標分別向中間 靠攏 不符合條件停止,然後交換這兩個元素,使之符合題目條件。參考 如下 void orderthearraytooddandeven...
面試題 調整陣列順序
題目 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分。首先這個題目只要求把奇數放前面,偶數放後面,所以我們不需要關注其他太多的因素,我們只需要給兩個指標,讓他們乙個指向最後乙個元素,這個指標只向前移動,乙個指向第乙個元素,這個指標...
劍指offer 調整陣列順序
時間限制 1秒 空間限制 32768k 本題知識點 陣列 題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。首先想到的是利用兩個輔助陣列,乙個儲存奇數,乙個儲存偶數,這樣的...