把陣列中的奇偶數劃分為兩組

2021-06-28 15:05:01 字數 599 閱讀 9804

早上起來看了一下微軟面試100題系列,其中一道題是將乙個陣列中的奇偶數劃分為兩組,其中奇數在前面,偶數在後面,下面是我的做法:

#include "stdafx.h"

#include

using

namespace

std;

void swap(int inputarray,int i,int j)

void oddevenpartition(int a,int n)

}int _tmain(int argc, _tchar* argv)

; oddevenpartition(array,3);

for (int i = 0; i < 12; ++i)

return

0;}

做完之後看了一下july的答案,如下:

void oddevenpartition(int a,int n)

i++;

}}

個人感覺july的**比我的簡潔,在結果上不改變原陣列的元素相對順序,而我實現的方式改變了整數在陣列中的相對出現順序。當然,迴圈中的那個if判斷也影響了程式的效能。

把陣列中的奇數放到偶數之前

案例 陣列內容 3 4 4 6 8 2 1 1 1 調換奇偶 3 1 1 1 8 2 4 4 6 思路 源於快速排序 方式1 參考 include include using namespace std bool isodd int num bool changearray int a,int si...

把陣列中的奇數放到偶數之前

案例 陣列內容 3 4 4 6 8 2 1 1 1 調換奇偶 3 1 1 1 8 2 4 4 6 思路 源於快速排序 方式1 參考 include include using namespace std bool isodd int num bool changearray int a,int si...

把奇 偶數 或某種特徵的數 都放在陣列左邊問題

點 按某種維度去聚集問題,典型的陣列按相遇問題搞 題意 如陣列 1,5,3,2,4,7,8,66,34,21,23,56,99 希望把全部的奇數集中在陣列左邊,偶數放右邊,如 1,3,5,7,9,2,4,6,8,0 這樣 劍指offer面試題14 思路 按某種維度去聚集問題,典型的陣列按相遇問題搞。...