要求:调整数组使奇数全部都位于偶数前面。
题目:
输入一个整数数组,实现一个函数,
来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,
所有偶数位于数组的后半部分。
解析:重点是一个从左向右和从右向左的过程。找偶数的时候从右往左找,找奇数的时候从左往右找。为什么是这样的顺序呢?。。。。其实很简单啦
//void Adjust_Num(int Arr[],int size)
//{
// int left = 0;
// int right = size - 1;
// int temp = 0;
// while (left < right) {
// while (Arr[left] % 2 == 1) { //向右寻找,直到找到偶数
// left++;
// }
// while (Arr[right] % 2 == 0) { //向左寻找,直到找到奇数
// right--;
// }
// if (left < right) {
// temp = Arr[left];
// Arr[left] = Arr[right];
// Arr[right] = temp;
// left++;
// right--;
// }
// }
//}
//
//int main()
//{
// int arr[] = { 1, 2, 3, 4, 5, 6,7,8,9};
// int size = sizeof arr / sizeof (arr[0]);
// int i=0;
// Adjust_Num(arr, size);
// for (i = 0; i < size; i++)
//
// printf("%d", arr[i]);
//
// system("pause");
// return 0;
//