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

2021-09-22 12:10:32 字數 2010 閱讀 2439

案例

陣列內容: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

size)

++oddpartition;}}

return

true;}

intmain()

;

int size = sizeof(a) / sizeof(int

);

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

cout

<< a[i] << "";

cout

<

changearray(a, size);

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

cout

<< a[i] << "";

cout

<

}

方式2

參考**

#include #include 

using

namespace

std;

bool isodd(int

num)

bool changearray(int *a, int

size)

}return

true;}

intmain()

;

int size = sizeof(a) / sizeof(int

);

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

cout

<< a[i] << "";

cout

<

changearray(a, size);

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

cout

<< a[i] << "";

cout

<

}

擴充套件不是奇偶問題,別掉條件

比如正負,需要把isodd()函式換成判斷正負的函式;

比如被5整除,需要把isodd()函式換成判斷被5整除的函式;

。。。。。。

這是一類問題,可以給出乙個模式來解決。如下

#include using

namespace

std;

bool iseven(int

val)

void reorder(int *a, int size, bool (*func)(int))}

void reorderoddeven(int *a, int

size)

void tranverse(int *a, int

size)

intmain()

;

int size = sizeof(a) / sizeof(int

); tranverse(a, size);

reorderoddeven(a, size);

tranverse(a, size);

}

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

案例 陣列內容 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...

將陣列的奇數放到偶數前面

題目 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分 思路 宣告兩個指標,乙個指向該陣列的頭,另乙個指向該陣列的尾,將頭指標指向的第乙個偶數和尾指標指向的第乙個奇數交換即可,直到頭指標大於尾指標跳出迴圈。如下 void ti...

乙個字串,把奇數放到陣列前面,奇數放到陣列後面

兩頭向中間查詢 1.包括 號移動位置.2.數字移動位置 3.字串移動位置,等都可以按照這個辦法進行移動,節省時間 include stdafx.h include bool iseven int n void reorder int pdata,unsigned int length,bool fu...