q:輸入乙個整數陣列,實現乙個函式,來調整該陣列中數字的順序使得陣列中所有的奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。
a:方法一:從陣列的前後兩端開始對每個數進行判斷,直到判斷完最中間元素後完成陣列的調整,下面給出**:
//方法一
void reorder(int *array,int sz)
}}
以下就是輸入和輸出陣列
int main()
; int i = 0;
int sz = 0;
printf("調整前》\n");
for (i=0;iprintf("\n");
sz = sizeof(arr)/sizeof(arr[0]);
adjust(arr,sz);
//調整後
printf("調整後》\n");
for (i=0;ireorder(arr,sz);
//調整後
printf("調整後》\n");
for (i=0;ireturn 0;
}
調整陣列順序奇數前偶數後
輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。思路 開兩個佇列,分別為queue1和queue2 輪詢陣列,把奇數放進queue1,把偶數放進queue2。然後把queue1和q...
把陣列中的奇數放到偶數之前
案例 陣列內容 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...