題目描述
輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得全部的奇數位於數組的前半部分,全部的偶數位於數組的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。數組
個人思路:
這道題和《劍指offer》上的題有一點差異,就是這裏多添加了一個條件:保證奇數和奇數,偶數和偶數之間的相對位置不變。因此,解法也有一點改變。
對於相對位置不變這個條件,冒泡排序的就有這樣一個特性,因此能夠參考冒泡排序的解法來解這道題。ide
public void reOrderArray(int [] array) { for (int i = 0; i < array.length; i++) { for (int j = 0; j < array.length - 1 - i; j++) { if ((array[j] % 2 == 0) && (array[j + 1] % 2 == 1)) { int tmp = array[j]; array[j] = array[j + 1]; array[j + 1] = tmp; } } } }