调整数组,使奇数在偶数前面

1、题目

在这里插入图片描述

2、解法(插入排序)

public class Solution {
    public void reOrderArray(int [] array) {
        if (array.length == 0 || array == null) return;
        for (int i = 1; i < array.length; ++i) 
            for (int j = i; j > 0; --j) {
                if (judge(array[j]) && !judge(array[j-1])) {
                     swap(array, j, j-1);
                }
            }
            
    }
    
    // 值交换,数组值是不会变得
    public void swap(int[] arr, int i, int j) {
        int tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
    }
    public boolean judge(int tmp) {
        if (tmp % 2 == 1) return true;
        return false;
    }
}

== 时间复杂度为O(n^2),空间复杂度为O(1)==

发布了74 篇原创文章 · 获赞 0 · 访问量 945

猜你喜欢

转载自blog.csdn.net/wuprogrammer/article/details/104828817