zoukankan      html  css  js  c++  java
  • [剑指offer] 13. 调整数组顺序使奇数位于偶数前面

    题目描述

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
    思路:
    用一个curIndex变量来存储,当前已遍历元素中最靠右的奇数的索引。
    遍历时,遇到奇数,就将该奇数不断与前一个交换直到curIndex+1。
    class Solution
    {
    public:
      void reOrderArray(vector<int> &array)
      {
        int curIndex = 0;
    
        for (int i = 0; i < array.size(); i++)
        {
          if (array[i] % 2 == 1)
          {
    
            for (int k = i; k > curIndex; k--)
            {
              swap(array[k], array[k - 1]);
            }
    
            curIndex++;
          }
        }
      }
    };
  • 相关阅读:
    Spring AOP
    Spring Bean的生命周期
    MySQL中的SQL的常见优化策略
    垃圾收集器
    JWT
    Zookeeper
    RabbitMQ原理介绍
    kafka 安装配置
    kafka 简介
    ELK logstash 各种报错
  • 原文地址:https://www.cnblogs.com/ruoh3kou/p/10050736.html
Copyright © 2011-2022 走看看