改变顺序存储序列的顺序(使奇数全部位于偶数前)
运用快速排序的思想,从前向后找偶数,从后向前找奇数,交换
#include<stdio.h>
#include<stdlib.h>
void Swap(int a[], int i, int j) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
void move_odd_even(int a[], int n) {
int i = 0, j = n - 1;
while (i < j) {
while (i < j && a[i] % 2 != 0) i++; //从前向后找第一个偶数
while (i < j && a[i] % 2 == 0) j--; //从后向前找第一个奇数
if (i < j)
Swap(a, i, j); //交换次序
i++; j--;
}
}