奇数偶数排序

作者: 何恩 | 来源:发表于2014-10-25 11:05 被阅读200次

题目解释:

长度为 n 的整数数组,对数组进行整理,使得所有的奇数都在数组的前面,而所有的偶数都在数组的后面。例如数组为 {1,2,3,4,5,6}. 整理后为 {1,3,5,2,4,6}.


    //判断前后两个元素是否需要交换
    private static boolean isNeedSwap(int a, int b) {
        if (a%2 != 0 && b%2 == 0) {//奇数在前,偶数在后,不需要交换
            return false;
        }
        if (a%2 == 0 && b%2 != 0) {//偶数在前,奇数在后,需要交换
            return true;
        }
        
        /*
         * 如果声明排序后原来的相对位置不能变,则 return a==b
         * 如果需要升序排列,则 return a<b
         * 如需要降序排列,则 return a>b
         */
        
        return a==b;//同奇同偶,顺序不变
        
    }

    //交换函数的实现函数
    private static void Swap(int[] array, int a, int b) {
        int temp;
        temp = array[a];
        array[a] = array[b];
        array[b] = temp;
    }
    
    //利用插入排序来实现,也可以用其他排序方法
    private static void InsertSort(int[] array) {
        for (int i = 1; i < array.length; i++) {
            for (int j = i; j > 0; j--) {
                if ( isNeedSwap(array[j-1], array[j]) ) {
                    Swap(array, j, j-1);
                }
            }
        }
    }
    
    public static void main(String[] args) {
        
        int[] a = {1,3,4,6,0,8,9,12,14,23};
        InsertSort(a);
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+" ");
        }
    }
    
    

相关文章

  • 奇数偶数排序

    题目解释: 长度为 n 的整数数组,对数组进行整理,使得所有的奇数都在数组的前面,而所有的偶数都在数组的后面。例如...

  • 【排序算法】-奇偶排序)Odd_Even Sort

    简介 第一趟奇数列排序,然后是偶数列排序,再奇数列..循环。 讲解 设示例数组为:[5 2 7 1 4 9 8],...

  • 奇数和偶数的秘密(小学数学)

    1.任意两个奇数的和(或差),一定是偶数。 奇数+奇数=偶数 奇数–奇数=偶数 2.任意两个奇数的积,一定是奇数。...

  • 让一个数组中奇数在前偶数在后

    不要求奇数偶数排序 思路: 设定两个变量,从数组两端开始往里缩减,要求左边都为奇数,那么left为奇数就++判断下...

  • 偶数和奇数的关系。

    大家熟知的双数和单数也就是偶数和奇数只不过偶数和奇数是标准的词语罢了。 今天我来讲一下,偶数加奇数, 偶数加偶数,...

  • 2021-08-12《汉声数学》2—奇数和偶数

    一、什么是奇数和偶数 能凑成对的数就是偶数,不能凑成对的数就是奇数。可以直接告诉孩子奇数和偶数的概念。 二、奇数和...

  • 排序 922 奇数偶数数组排序

    题目 给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇数...

  • [数组] 将数组中奇数放在偶数的前面

    将数组中奇数放在偶数的前面,且奇数和奇数之间,偶数和偶数之间相对顺序不变。 思路:1. 先找到第一个偶数2. 在找...

  • 61-66题

    61、调整数组顺序使奇数位于偶数前面最简单一个数组存偶数一个数组存奇数再合并,稍微快一点的写个冒泡排序O(n^2)...

  • Java日记2018-06-21

    调整数组顺序使奇数位于偶数前面 合并两个排序的链表 树的子结构

网友评论

    本文标题:奇数偶数排序

    本文链接:https://www.haomeiwen.com/subject/owfvtttx.html