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

package codingforoffer.question14;

/**
 * 调整数组顺序使奇数位位于偶数前面
 * @author admin
 *
 */
public class ReorderOddEven {

    /**
     * 经典
     * 思路1:按照快速排序算法,一个指向偶数第一个开头的角标,一个指向新数字的角标,当遍历到奇数时,交换,并使角标加1
     * @return 
     */
    public void reorder(int[] arr){
        int j=0;
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]%2==1){ //如果是奇数,如果大于0等,如果整除3等就交换。这一类通用问题,修改判断条件即可。
                int temp=arr[i];
                arr[i]=arr[j];
                arr[j]=temp;
                j++;
            }
        }
    }
    public static void main(String[] args) {
        ReorderOddEven roe=new ReorderOddEven();
        int[] arr={3,4,5,2,3,4,5,34,6,743,34,23,432,2,4,5,23423,4};
        roe.reorder(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+"   ");
        }
    }
}
原文地址:https://www.cnblogs.com/liyafei/p/8253014.html