调整数组顺序,c++

class Solution {
public:
    void reOrderArray(vector<int> &array) {
        int length = array.size();
        int count = 0;
        queue<int> even;

        for (int i = 0; i != length; ++i){
            if (array[i]%2)
                array[i - count] = array[i];
            else{
                even.push(array[i]);
                ++count;
            }
        }

        for (int i = length - count; i != length; ++i){
            array[i] = even.front();
            even.pop();
        }
    }
};

很low的一个方法,遍历整个向量,遇到偶数压入队列,遇到奇数往前移动
1、count是一个重要计数量,记录当前遇到的偶数个数,在奇数移动和后边偶数插入都有用
欢迎交流指正!!!

全部评论

相关推荐

10-09 17:17
已编辑
门头沟学院 Java
活泼的代码渣渣在泡池...:同学你好,我也是学院本,后天要面这个亚信科技,是实习,请问问题都啥样呀,我项目就做了网上的,这是第一次面试
投递多益网络等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务