用c++写一个代码:题目描述 一个数组里有奇数有偶数(乱序),调整数组顺序使奇数位于偶数前面。(测试用例仅做参考,我们会根据代码质量进行评分) 输入描述: 第一行输入整数n。 第二行输入n个整数。 输出描述: 输出排序后的n个整数。
时间: 2024-04-09 10:28:30 浏览: 58
Sure! 这是一个用C++编写的解决方案,可以将奇数放在偶数面。
```cpp
#include <iostream>
#include <>
using namespace std;
void ReorderArray(vector>& nums) {
int left = 0, = nums.size() - 1;
while (left < right) {
while (left < right && (nums[left] % 2) != 0) {
left++;
}
while (left < right && (nums[right] % 2) == 0) {
right--;
}
if (left < right) {
swap(nums[left], nums[right]);
}
}
}
int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
ReorderArray(nums);
for (int i = 0; i < n; i++) {
cout << nums[i] << " ";
}
return 0;
}
```
这段代码首先定义了一个 `ReorderArray` 函数,它使用双指针方法将奇数放在偶数前面。然后在 `main` 函数中,我们首先读取输入的整数 `n`,然后读取 `n` 个整数作为数组元素。调用 `ReorderArray` 函数后,输出排序后的数组。
希望这个代码对你有帮助!如果有任何疑问,请随时提出。
阅读全文