程序功能:
调整数组顺序,使奇数位于偶数位之前
亮点:
C++中可以直接把方法指针作为另一个方法的参数传入,java中则不可以,要想实现类似的功能,考虑用接口
下面这段代码实现了可扩展的功能(可以把数组前后划分条件改为其他,如正负等,只需要修改接口中的fun()方法),而不用动reOrderArray,如下:
public class Solution {
public void reOrderArray(int[] array) {
UserJudge uj = new UserJudge();
reOrderArray(array, uj);
}
public void reOrderArray(int[] array, Judge judge) {
if (array.length == 0)
return;
int left = 0;
int right = array.length - 1;
while (left < right) {
while (left < right && judge.fun(array[left])) {
left++;
}