题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在偶数的前面:
package Sort;
public class ReOderMain {
static int[] data = { 1, 2, 3, 4, 5, 6, 7 };
public static void ReOder(int[] data, int length) {
if (data == null || length == 0)
return;
int begin = 0;
int end = length - 1;
while (begin < end) {
while (begin < end && !isEven(data[begin])) {
begin++;
}
while (begin < end && isEven(data[end])) {
end--;
}
if (begin < end) {
int temp = data[begin];
data[begin] = data[end];
data[end] = temp;
}
}
}
static boolean isEven(int n) {
return (n & 1) == 0;
}
public static void main(String[] args) {
ReOder(data, 7);
for (int i = 0; i < 7; i++)
System.out.print(data[i] + " ");
}
}
运行结果为:
1 7 3 5 4 6 2