調整陣列使奇數全部都位於偶數前面。

2021-08-10 07:44:40 字數 610 閱讀 9344

題目: 

輸入乙個整數陣列,實現乙個函式,來調整該陣列中數字的順序使得陣列中所有的奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。 

對乙個數進行分析,我們可知乙個奇數最後乙個二進位制位一定為1,而奇數最後乙個二進位制位一定為0。

所以我們可以用這個數&1來判斷奇偶性。

#define _crt_secure_no_warnings 0

#include #include #include static void swap(int *x,int *y) //交換

static void show(int arr,int sz) //列印結果

if (*start & 1) //從左start不是偶數,就指向下乙個數

if(!(*end & 1)) //從右end不是奇數,就指向下乙個數

}}int main()

; int n = sizeof(arr)/sizeof(arr[0]);

show(arr,n);

judge(arr,n);

show(arr,n);

system("pause");

return 0;

}

調整陣列使奇數全部都位於偶數前面

輸入乙個整數陣列,實現乙個函式,來調整該陣列中數字的順序使得陣列中所有的奇數 include include void printf arr int arr,int len printf n void sort int a,int len else i int main int length siz...

調整陣列使奇數全部都位於偶數前面。

題目 輸入乙個整數陣列,實現乙個函式,來調整該陣列中數字的順序使得陣列中所有的奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。include include include pragma warning disable 4996 static void switchdata int x,int ...

調整陣列使奇數全部都位於偶數前面。

輸入乙個整數陣列,實現乙個函式,來調整該陣列中數字的順序使得陣列中所有的奇數字於陣列的前半部分,所有偶數字於陣列的後半部分 這裡使用了按位與 a a 1 a 0 0 void swap int x,int y void jo switch int a,int sz if a start 1 奇數 i...