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

2021-09-26 06:45:24 字數 710 閱讀 3918

例如我們輸入乙個陣列 arr=

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

得到這裡類似於氣泡排序的思想,我們在這裡建立乙個邊界bount,初始化值為0

遍歷一次陣列,比較前後兩個數的奇偶性,如果前面的數為偶數,後面的數是奇數,我們將兩個數進行交換,這裡需要建立乙個swap函式如下(判斷奇偶性質,用%2來判斷)

void swap(int* x, int* y)
每次找奇數,迴圈一次,找到乙個奇數,並放到合適位置

[0,bound)表示已排序區間

[bound,size)表示待排序區間(size為陣列長度)

具體函式如下:

void separate(int* arr, int size)

} }}

總函式如下:

swap(int* x, int* y)

void separate(int* arr, int size)

} }}int main();

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

separate(arr, size);

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

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 ...

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

題目 輸入乙個整數陣列,實現乙個函式,來調整該陣列中數字的順序使得陣列中所有的奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。對乙個數進行分析,我們可知乙個奇數最後乙個二進位制位一定為1,而奇數最後乙個二進位制位一定為0。所以我們可以用這個數 1來判斷奇偶性。define crt secure ...