下面是一个实现上述功能的 C++ 程序代码:

#include <iostream>
#include <vector>

using namespace std;

void reorderArray(vector<int>& nums) {
    vector<int> oddNums;
    vector<int> evenNums;

    // 将奇数和偶数分别存放在两个新数组中
    for (int num : nums) {
        if (num % 2 == 0) {
            evenNums.push_back(num);
        } else {
            oddNums.push_back(num);
        }
    }

    // 将奇数和偶数按顺序放回原数组中
    int i = 0;
    for (int odd : oddNums) {
        nums[i++] = odd;
    }
    for (int even : evenNums) {
        nums[i++] = even;
    }
}

int main() {
    int n;
    cout << "请输入整数数组的长度:";
    cin >> n;

    vector<int> nums(n);
    cout << "请输入整数数组的元素:";
    for (int i = 0; i < n; i++) {
        cin >> nums[i];
    }

    reorderArray(nums);

    cout << "调整后的数组为:";
    for (int num : nums) {
        cout << num << " ";
    }

    return 0;
}

运行程序后,首先输入整数数组的长度,然后输入整数数组的元素。程序会将奇数和偶数分别调整位置后输出调整后的数组。

C++ 数组排序:奇数在前,偶数在后 (保留相对位置)

原文地址: https://www.cveoy.top/t/topic/pjI3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录