奇数放到数组后面

给定整型数组, 把所有的偶数放到数组前面, 把所有奇数放到数组后面。

思路:
  1. 定义两个指针,左指针指向最左边,右指针指向最右边。
  2. 左指针往右走,寻找第一个奇数,右指针往左走,寻找第一个偶数。
  3. 交换左右两个数。
  4. 左指针+1,右指针-1。
  5. 循环进行2-3-4步骤。
package day7_10_17;

import java.util.Arrays;

/**
 * @author:fover
 * @date:2020/10/17 20:45
 * @version:1.0
 * @function:给定整型数组, 把所有的偶数放到数组前面, 把所有奇数放到数组后面.
 */
public class Home15 {
    public static void main(String[] args) {
        int[] array = {2,5,6,9,7,4};
        aheadEvenNum(array);
        System.out.println(Arrays.toString(array));
    }
    public static void aheadEvenNum(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 temp = array[left];
            array[left] = array[right];
            array[right] = temp;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值