• 剑指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面向对象3
    java面向对象2
    java面向对象1
    java基础5
    java基础4
    java基础3
    递归之汉诺塔问题
    自定义 strcpy函数
    自定义strcmp函数
    自定义strcat函数
  • 原文地址:https://www.cnblogs.com/trouble-easy/p/12962140.html
Copyright © 2020-2023  润新知