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

    #include "stdafx.h"
    using namespace std;
    #include <string>
    #include <vector>
    #include <deque>

    class Solution
    {
    public:
        Solution();
        ~Solution();
        // [3, 4, 5, 1, 2]
        // [1, 2, 3, 4, 5]
        // 不能使用左边数与中间数比较,这种做法不能有效地减治

        // [1, 2, 3, 4, 5]
        // [3, 4, 5, 1, 2]
        // [2, 3, 4, 5 ,1]

        //push_back用于在尾部插入数据,push_front用于在头部插入数据

        void  find(vector<int> vec)
        {
            //vector<int>cc = { 3, 4, 5, 1, 2 }; 4,5,1,2,3
            deque <int> deq;
            for (int i = 0; i < vec.size(); i++)
            {
                if (vec[i]%2==0)
                {
                    deq.push_back(vec[i]);
                    //偶数后插入
                }
                else if (vec[i]%2==1)
                {
                    deq.push_front(vec[i]);
                    //奇数前插入
                }
            }
            vec.assign(deq.begin(), deq.end());
        }


    private:

    };

    int main()
    {

        vector<int> aa = { 1, 2, 3, 4, 5 };
        vector<int> bb = { 2, 3, 4, 5, 1 };
        vector<int>dd = { 4, 5, 1, 2, 3 };
        vector<int>cc = { 3, 4, 5, 1, 2 };

        Solution sou;
        sou.find(cc);
    }

    天天向上
  • 相关阅读:
    ORACLE游标概念讲解
    [转载]Oracle如何查看日志
    oracle 游标以及游标变量
    Oracle游标大全
    [转载]Oracle如何查看日志
    追踪从指缝溜走的时间
    《Falcon 初印象》幻灯分享
    百姓网那道题
    一个JavaScript写的黑白棋AI
    trac 推广 ppt 分享
  • 原文地址:https://www.cnblogs.com/hg07/p/12731861.html
Copyright © 2011-2022 走看看