Java:数组内的数字排列,奇数在前偶数在后

给定left零号下标,right数组长度减一;

判断在left < right 情况下array[left]是否是奇数,如果是,该位置不动,left++;判断left < right 情况下array[right]是否是偶数,如果

是,也不动。

如果left位置是偶数,right位置是奇数,则进行交换。

import java.util.Arrays;
//数组内的数字排列
public class TestDemo2 {
    public static void swap(int[] array) {
        int left = 0;
        int right = array.length-1;
        while (left < right) {
            while (left < right && array[left] % 2 != 0) {
                left++;
            }
            while (left < right && array[right] % 2 == 0) {
                right--;
            }
            int tmp = array[left];
            array[left] = array[right];
            array[right] = tmp;
        }
    }
    public static void main(String[] args) {
        int[] array = {1,2,3,9,8,7};
        swap(array);
        System.out.println(Arrays.toString(array));
    }
}
发布了82 篇原创文章 · 获赞 0 · 访问量 1167

猜你喜欢

转载自blog.csdn.net/yufy0528/article/details/104918293