zoukankan      html  css  js  c++  java
  • 剑指offer十三之调整数组顺序使奇数位于偶数前面

    一、题目

      输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

    二、思路

           此题可以用类似冒泡排序的算法来解答。遍历数组,当相邻两个数,前面的数是偶数,后面的数是奇数时,交换两个数。第一轮遍历下来,数组最后面的一个偶数就排好了,接着进行第二轮第三轮,直到所有偶数都排到奇数后面为止。

    三、代码

    public class Solution {
        public void reOrderArray(int [] array) {
             int temp = 0;
            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) { //前偶后奇则交换
                        temp = array[j];
                        array[j] = array[j + 1];
                        array[j + 1] = temp;
                    }
                }
            }
        }
    }
    View Code

    -------------------------------------------------------------------------------------------------------------

    参考链接:https://www.nowcoder.com/profile/369342/codeBookDetail?submissionId=1523408

  • 相关阅读:
    关于pipe管道的读写端关闭问题
    线性表的链式存储——C语言实现
    关于无法解析的外部符号 _main
    Tomcat域名与服务器多对多配置
    JavaScript基础
    Vue.js入门
    SpringBoot注解大全,收藏一波!!!
    数据库连接错误
    SpringBoot入门
    MyBatis插入并返回id技巧
  • 原文地址:https://www.cnblogs.com/hezhiyao/p/7617066.html
Copyright © 2011-2022 走看看