zoukankan      html  css  js  c++  java
  • 日常编程练习(五)

    调整数组顺序使奇数位于偶数前面

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分。

    //双指针求解
    void
    reorderArray(vector<int> &array) { if(array.empty()) return; int begin=0; int end=array.size()-1; while(end>begin) { while(end>begin&&(array[begin]&1)==1) begin++; while(end>begin&&(array[end]&1)==0) end--; if(begin<end) { int temp=array[begin]; array[begin]=array[end]; array[end]=temp; } } }

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

    class Solution {
    public:
        void reOrderArray(vector<int> &array) {
            if(array.empty())
                return;
            vector<int> temp;
            auto iter=array.begin();
            while(iter!=array.end())
            {
                if((*iter&1)==0)
                {    
                    temp.push_back(*iter);
                    array.erase(iter);
                }
                else
                    iter++;
            }
            for(auto &a:temp)
                array.push_back(a);
        }
    };
  • 相关阅读:
    IDEA复制module
    input输入框限制输入数字(含小数)
    毕设周总结---3
    皮尔森相关系数算法
    毕设周总结---2
    毕设周总结---1
    解释器模式实例
    架构模式——解释器模式
    课后作业---质量属性
    软件架构师如何工作
  • 原文地址:https://www.cnblogs.com/kiplove/p/7100842.html
Copyright © 2011-2022 走看看