调整输入数组A[0..n],将其分为两部分,左边所有元素为奇数,右边所有元素为偶数
【样例输入】1 2 33 8 5
【样例输出】1 33 5 2 8
供参考:
#include <stdio.h>
int main()
{
int a[50], n, i, j, t;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
for (i = n - 1; i > 0; i--)
for (j = 0; j < i; j++)
if (a[j] % 2 == 0 && a[j + 1] % 2 == 1)
t = a[j], a[j] = a[j + 1], a[j + 1] = t;
for (i = 0; i < n; i++)
printf("%d ", a[i]);
return 0;
}
冒泡排序学过吗
只要发现左边是偶数,右边是奇数,就交换
可以使用双指针法,用left和right模拟指针移动,具体可借鉴以下代码