zoukankan      html  css  js  c++  java
  • 剑指offer13-调整数组顺序使奇数位于偶数前面

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

    思路:改编快排,为保证奇偶相对位置不变,每当发现奇数且偶数在前时,保存奇数值,将偶数到奇数之前的元素顺序后移。

        void reOrderArray(vector<int> &array) {
            int j=0;
            for(int i=0;i<array.size();i++)
            {
                //i表示奇数位置,j表示偶数位置
                if((array[i]%2)!=0)
                {
                    if(i>j)
                    {
                        int k=i;
                        int temp=array[i];
                        while(k>j)
                        {
                            array[k]=array[k-1];
                            k--;
                        }
                        array[k]=temp;
                        //j++;
                    }
                    j++;
                }
            }
        }

  • 相关阅读:
    java基础
    Java开发环境搭建
    打开CMD的方式和常用的Dos命令
    电脑常用快捷键
    Markdown学习
    c# json object Dictionary互转
    dapper 跨表查询
    Dapper SimpleCRUD Demo
    c#中的常用ToString()方法总结
    android js 模拟键盘
  • 原文地址:https://www.cnblogs.com/trouble-easy/p/12962140.html
Copyright © 2011-2022 走看看