Java中如何分离数组中奇数和偶数呢?
下文笔者将讲述使用Java代码分离数组奇数和偶数的方法分享,如下所示:
实现思路: 定义两个变量left 和 right 用于存储左右开始检索的索引位置 然后依次对左右元素开始检测,当出现不符合条件时,则进行左右交换例:
package com.java265.other; public class test { /* * java265.com 将数组中奇数和偶数分开 下文笔者将采用最优的算法将奇数和偶数分开,如下所示 */ public static void main(String[] args) { int a[] = { 1, 2, 2, 1, 43, 14, 56, 25, 6, 8, 2, 67, 43 }; int left = 0; // 定义左边起始位 int right = a.length - 1;// 定义右边起始位 int temp; while (left < right) { // 符合条件,不转换位置,继续判断左边的下一个元素 while (a[left] % 2 == 0 && left < right) { left++; } // 符合条件,不准换位置,继续判断右边的下一个元素 while (a[right] % 2 == 1 && left < right) { right--; } if (left < right) { // 左右位置交换 temp = a[left]; a[left] = a[right]; a[right] = temp; left++; right--; } } // 输出元素 for (int i = 0; i < a.length; i++) { System.out.println(a[i]); } } } -------运行以上代码,将输出以下信息------ 2 2 2 8 6 14 56 25 43 1 1 67 43
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。