题解 | #移动数组中元素的位置,冒泡排序#

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

http://www.nowcoder.com/practice/ef1f53ef31ca408cada5093c8780f44b

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param array int整型一维数组 
     * @return int整型一维数组
     */
    public int[] reOrderArray (int[] array) {
        //解法二:时间复杂度O(n^2),空间复杂度O(1)
        //本质上就是冒泡排序的思想
        for(int i = 0 ; i < array.length-1 ; i ++) {
            for(int j = 0 ; j < array.length-1-i ; j ++) {
                //如果偶数在奇数前面 就交换位置
                //冒泡排序是两两比较,是一种稳定排序算法,因此不改变原来奇奇,偶偶的顺序
                if(array[j] % 2 == 0 && array[j+1] % 2 != 0) {
                    int t = array[j] ;
                    array[j] = array[j+1] ;
                    array[j+1] = t ;
                }
            }
        }
        return array ;
    }
}

一个菜鸟的算法刷题记录 文章被收录于专栏

分享一个菜鸟的成长记录

全部评论

相关推荐

3 收藏 评论
分享
牛客网
牛客企业服务