面試題14 調整陣列順序使基數字於偶數前

2022-08-24 05:15:11 字數 816 閱讀 7099

//

面試題14:調整陣列順序,使奇數字於偶數前

//

題目:輸入乙個整數陣列,實現 乙個函式來調整該陣列中數字的順序,

//使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分。

package

com.hb.jzoffer;

import

offer.utilities.arrayutils;

//面試題14:調整陣列順序,使奇數字於偶數前

//題目:輸入乙個整數陣列,實現 乙個函式來調整該陣列中數字的順序,

//使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分。

public

class

reorderarrayoddeven

int begin = 0;

int end = length - 1;

while(begin while((begin < end) && (data[end] % 2) == 0)

if(begin }

}public

static

void

main(string args) ;

system.out.println("初始化陣列:");

arrayutils.printarray(data);

array.reorderoddeven(data);

system.out.println("奇數在偶數前的陣列");

arrayutils.printarray(data);

}}

面試題14 調整陣列順序使奇數字於偶數前面

最簡單的辦法就是開闢和原陣列同樣大小的空間,順次掃瞄原陣列2次,第一次將所有奇數放進新陣列中,第二次將偶數放入就可以。這種方法的時間複雜度為o n 空間複雜度為o n 如下 void reorderoddeven vector arr vectornewarr int i for i 0 i以上演算...

面試題14 調整陣列順序使奇數字於偶數前面

這個題目要求把奇數放在陣列的前半部分,偶數放在陣列的後半部分,因此所有的奇數應該位於偶數的前面。也就是說我們在掃瞄這個陣列的時候,如果發現有偶數出現在奇數的前面,我們可以交換它們的順序,交換之後就符合要求了。因此我們可以維護兩個指標,第乙個指標初始化時指向陣列的第乙個數字,它只向後移動 第二個指標初...

面試題14 調整陣列順序使奇數字於偶數前面

題目 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,是的所有奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。初級程式設計師 1 void reorderoddeven vector data 218 19 可擴充套件性解法 將判斷標準變成乙個函式指標 1 bool iseven int...