C++ 数组排序:奇数在前,偶数在后 (保留相对位置)
下面是一个实现上述功能的 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;
}
运行程序后,首先输入整数数组的长度,然后输入整数数组的元素。程序会将奇数和偶数分别调整位置后输出调整后的数组。
原文地址: https://www.cveoy.top/t/topic/pjI3 著作权归作者所有。请勿转载和采集!