栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java数组--奇数在前,偶数在后

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java数组--奇数在前,偶数在后

奇数在前,偶数在后

给定一个数组,让奇数在数组的前面,偶数在数组的后面
实现步骤
1)定义一个变量left等于数组首元素下标0,变量right等于元素最后一个下标arr.length - 1
2)left从前往后开始遍历数组,如果是奇数就继续遍历,直到找到一个偶数就停止,考虑数组全为奇数的情况,那么就会造成left越界,所以设置一个条件 left
3)right从后忘前开始遍历数组,如果是偶数就继续遍历,直到找到一个奇数就停止,考虑数组全为偶数的情况,那么就会造成right越界,所以设置一个条件 left
4)两数交换 (因为left找到一个奇数会自增1,right找到一个偶数就会自减1,当数组已经实现左边全为奇数,右边全为偶数时,两数还会交换一次,所以两数交换要设置一个条件left
代码实现

package com.wysheng.src;

import java.util.Arrays;


public class TestDemo01 {
    public static void sort(int[] arr) {
        int left = 0;
        int right = arr.length - 1;
        while (left < right) {
            while (arr[left] % 2 != 0 && left < right) {
                left++;
            }
            while (arr[right] % 2 == 0 && left <  right) {
                right--;
            }
            if (left < right) {
                int temp = arr[left];
                arr[left] = arr[right];
                arr[right] = temp;
            }
        }
    }

    public static void main(String[] args) {
        int[] arr = new int[]{2,4,6};
        sort(arr);
        System.out.println(Arrays.toString(arr));
    }
}

运行结果

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号