java数组排序之左奇右偶排序——两种方法实现之第一种

本文介绍了Java中实现数组排序的一种特殊方法——左奇右偶排序。通过交换数组中左边的偶数与右边的奇数,达到特定的排序效果。详细内容包括基本思想和实际操作的结果展示。

第一种方法:

本来打算两种写在一起的,结果markdown不知道为什么出点问题,就分两篇写了。
第二种方法点这里:第二种方法链接
基本思想:让左边的偶数和右边的奇数交换位置,从而达到效果。

/**
 * 左奇右偶排序
 * @author 小强
 *
 */
public class PraArray6 {
 public static void main(String[] args) {
  int[] arr = {26, 67, 49, 38, 52, 66, 72, 71, 56, 87};
  
  System.out.println( " 排序之前的数组:");
  for(int i=0; i<arr.length; i++) {
   System.out.print(arr[i] + " ");
  }
  
  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;
   }
   
   if(arr[left]%2==0 && arr[right]==0) {
    left--;
   }//如果左右两边都为偶数,则左边总体位置不变,等待右边出现奇数与之交换
   
   if(arr[left]%2!=0 && arr[right]%2!=0) {
    right++;
   }//如果左右两边都为奇数,则右边总体位置不变,等待左边出现偶数与之交换
   
  }
  
  System.out.println( "\n" +" 排序之后的数组:");
  for(int i=0; i<arr.length;i++) {
   System.out.print(arr[i] + " ");
  }
  
 }
}

结果显示:

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值