//從右邊直到第乙個奇數
while(left < right && (number[right] % 2 == 0))
//奇偶數交換
if(left < right)
}}int main()
sortoddbeforeeven(number,n);
for(i = 0;i < n;i++)
else
}} return 0;
}題目描述:輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。
輸入:每個輸入檔案包含一組測試案例。
對於每個測試案例,第一行輸入乙個n,代表該陣列中數字的個數。
接下來的一行輸入n個整數。代表陣列中的n個數。
輸出:對應每個測試案例,
輸入一行n個數字,代表調整後的陣列。注意,數字和數字之間用乙個空格隔開,最後乙個數字後面沒有空格。
樣例輸入:
5樣例輸出:1 2 3 4 5
1 3 5 2 4
/*********************************
* 日期:2013-11-15
* 題號: 題目1516:調整陣列順序使奇數字於偶數前面
* 結果:ac
* 總結:
**********************************/
#include #include int *number;
void sortoddbeforeeven(int *number,int n)
int oindex = 0,eindex = 0,i;
int *odd,*even;
odd = (int *)malloc(sizeof(int)*n);
even = (int *)malloc(sizeof(int)*n);
//尋找奇偶數
for(i = 0;i < n;i++)
//偶數
else
}//輸出奇數
for(i = 0;i < oindex;i++)
else
}//輸出偶數
for(i = 0;i < eindex;i++)
else
}printf("\n");
}int main()
sortoddbeforeeven(number,n);
} return 0;
}
劍指offer 調整陣列順序
時間限制 1秒 空間限制 32768k 本題知識點 陣列 題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。首先想到的是利用兩個輔助陣列,乙個儲存奇數,乙個儲存偶數,這樣的...
劍指offer(調整陣列順序)
輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。1 暴力解法 從前到位掃瞄陣列,如果出現前面是偶數後面是奇數的情況,則交換。其中使用氣泡排序的思想。從後面朝前比較,使用外迴圈控制趟...
劍指offer十三之調整陣列順序使奇數字於偶數前面
一 題目 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。二 思路 此題可以用類似氣泡排序的演算法來解答。遍歷陣列,當相鄰兩個數,前面的數是偶數,後面的數是奇數時,交換兩個數。...