第一种方法:
本来打算两种写在一起的,结果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] + " ");
}
}
}
结果显示:

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

336

被折叠的 条评论
为什么被折叠?



