public static int[] solution(int[] a){
int i=0;
int j=a.length-1;
while(i<j){
//从前向后找到第一个偶数
while (i<j&&a[i]%2!=0){
i++;
}
//从后向前找到第一个奇数
while (i<j&&a[j]%2==0){
j--;
}
//交换奇数偶数的位置
int t=a[i];
a[i]=a[j];
a[j]=t;
}
return a;
}
public static int[] solution2(int[] a){
int i=0;
int j=a.length-1;
int temp=a[i];
while(i<j){
//从后向前找到第一个奇数
while (i<j&&a[j]%2==0){
j--;
}
//将倒数第一个奇数放到第一个偶数位置
a[i]=a[j];
//从前向后找到第一个偶数
while (i<j&&a[i]%2!=0){
i++;
}
//将第一个偶数放到第一个奇数位置
a[j]=a[i];
}
//第一个位置的元素放到奇数偶数的分界处
a[i]=temp;
return a;
}
将数组中奇数放到偶数前面java实现
最新推荐文章于 2021-03-27 22:29:14 发布
本文介绍了一种数组排序算法,该算法通过交换数组中的奇数和偶数来实现排序。文章提供了两种不同的实现方法:第一种是直接进行奇偶交换;第二种则是先找到奇数和偶数再进行交换。这两种方法均适用于整型数组。
185

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



