373.奇偶分割数组

描述

分割一个整数数组,使得奇数在前偶数在后。

您在真实的面试中是否遇到过这个题?   是

样例

给定 [1, 2, 3, 4],返回 [1, 3, 2, 4]

挑战

在原数组中完成,不使用额外空间。

双循环,交换即可。

class Solution {
public:
    /*
     * @param nums: an array of integers
     * @return: nothing
     */
    void partitionArray(vector<int> &nums) {
        // write your code here
        for(int i=0;i<nums.size();i++)
            if(nums[i]%2==0)
                for(int j=i+1;j<nums.size();j++){
                    if(nums[j]%2==1){
                        swap(nums[i],nums[j]);
                        break;
                    }
                    if(j==nums.size()-1) i=nums.size()-1;
                }
    }
    
    void swap(int &m,int &n){
        m^=n;
        n^=m;
        m^=n;
    }
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在LabVIEW中,我们可以使用“Index Array”节点将一维数组分成两个数组。 首先,我们需要创建一个一维数组,其中包含我们要分割的元素。可以使用“Build Array”节点来创建一个包含所有元素的数组。然后,我们将“Build Array”节点的输出连接到“Index Array”节点的输入上。 接下来,我们需要创建一个整数变量,用于迭代数组的索引。可以使用“For Loop”节点来循环遍历数组的每个元素。将整数变量连接到“Index Array”的索引输入上,以便能够获取数组中的每个元素。 然后,我们需要判断每个元素是数还是数。可以使用“Modulus”(求余)节点来判断一个元素是否为数。将“Index Array”的输出连接到“Modulus”的输入上。然后,将一个值为2的整数连接到“Modulus”的除法分子上。这样,如果元素除以2的余数为0,表示该元素为数,反之则为数。 然后,我们需要将数和数元素分别存储到不同的数组中。可以使用“Case Structure”节点来创建一个条件语句。将“Modulus”的输出连接到“Case Structure”的条件输入上。然后,在“Case Structure”中创建两个分支,一个分支用于保存数,另一个分支用于保存数。将“Index Array”的输出连接到相应分支的输入上。 最后,连接返回数和数组的引线,以便将它们输出到其他部分进行进一步的处理或显示。 通过这样的步骤,我们就可以在LabVIEW中将一维数组分成两个数组

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值