18.偶在左,奇在右

tech2025-03-29  1

package day7; //排序 偶数在左, 奇数在右 public class lianxi4 { public static void main(String[] args) { int[] arr = {23,43,53,11,12,22,78}; for(int left=0,right=arr.length-1; left<right; left++,right--) { //左边是偶数,右边是奇数,交换 if(arr[left]%2 == 0 && arr[right]%2 != 0) { int temp = arr[left]; arr[left] = arr[right]; arr[right] = temp; } //左边是奇数,右边也是奇数 else if(arr[left]%2 != 0 && arr[right]%2 != 0) { //当left与right都为奇数时,根据规则,把奇数放在右边,所以right不能动 right++; } //左边是偶数,右边也是偶数 else if(arr[left]%2 == 0 && arr[right]%2 == 0) { left--; } } //输出结果 for(int i=0; i<arr.length;i++) System.out.print(arr[i] + " "); } }
最新回复(0)