数组排列(奇数在前,偶数在后)
比如[1,2,3,4,5],排列结果可以是[1,5,3,4,2]
代码:
/** * Created by wuchao on 17-3-29. */ import java.util.*; public class test { public static int array[] = {1,2,3,4,5,6,7,8,9,1,3,4,6,3,4,5,5,4,4}; public static void main(String[] args) { sort(array); System.out.println(Arrays.toString(array)); } public static void sort(int[] array){ int len = array.length; if(len==1) return; int i=0,j=len-1; while(i<j){ //从左找第一个偶数,并退出循环 while(isOdd(array[i])&&i<j) i++; //从右找第一个奇数,并退出循环 while(!isOdd(array[j])&&i<j) j--; //奇数和偶数交换 int tmp = array[i]; array[i]=array[j]; array[j]=tmp; } } //判断是否是奇数 public static boolean isOdd(int n){ if((n&1)==1) return true; return false; } }
联系方式:wuchaodzxx@126.com