您的位置:首页 > 编程语言 > Java开发

调整数组顺序使奇数位于偶数前面Java

2016-03-06 11:15 429 查看
题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。

package offer;

public class ReorderOddEven {

public static void main(String[] args) {
int[] arr = {4,3,5,6,9,10,12};
reorderOddEven(arr);

}
public static void reorderOddEven(int[] arr){
if(arr==null)return;

int i=0,j=arr.length-1;
while(i<j){
while(i<=arr.length-1&&(arr[i]&0x1)!=0)i++;
while(j>=0&&(arr[j]&0x1)==0)j--;
if(i<j){
swap(arr,i,j);
}
}
print(arr);
}
public static void swap(int[] arr, int i, int j){
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
public static void print(int[] arr){
for(int i=0; i<arr.length; i++)
System.out.print(arr[i]+" ");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: