package com.lcc;
import java.util.Arrays;
public class zkjishu {
//n&1 与运算 可以判断n是否为偶数 如果是偶数,n&1返回0;否则返回1,为奇数。
public static void main(String[] args) {
int[] arrray = new int[]{1,2,3,4,5,6,7,8};
Jisort(arrray);
System.out.println(Arrays.toString(arrray));
}
private static void Jisort(int[] arrray) {
int length = arrray.length;
if (length==0){
return;
}
int i = 0,j=length-1;
while (i<j){
//从左边找到第一个偶数,退出循坏
while (isodd(arrray[i])&&i<j){
i++;
}
//从右边找到第一个奇数,退出循坏
while (!isodd(arrray[j])&&i<j){
j--;
}
//都退出循坏后,i的值就是指向数组下标的偶数,j是指向奇数,交换位置
int temp = arrray[i];
arrray[i] = arrray[j];
arrray[j] = temp;
}
}
private static boolean isodd(int i) {
//奇数
if ((i&1)==1){
return true;
}
return false;
}
}
奇数在前,偶数在后
最新推荐文章于 2022-11-28 23:03:45 发布