您的位置:首页 > 职场人生

【微软谷歌面试100题--【54】调整数组顺序使奇数位于偶数前面

2012-09-05 21:33 357 查看
题54
调整数组顺序使奇数位于偶数前面。
题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,
所有偶数位于数组的后半部分。要求时间复杂度为O(n)。

public class Algorithm54_0 {

public static void main(String[] args) {
int a[]={7,8,2,4,59,6,1,45,52};
int i=0,j=a.length-1;
while(i<j){
if((a[j]&1)==0) j--;//判断是否是奇数
if((a[i]&1)!=0) i++;
swap(a, i, j);
i++;j--;
}
for(int aa:a){
System.err.println(aa);
}
}

static void swap(int a[],int i,int j){
int temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐