C++ 数组奇偶分离:将整数数组分为奇数和偶数部分
C++ 数组奇偶分离:将整数数组分为奇数和偶数部分
本示例代码展示如何使用 C++ 将一个整数数组分为奇数和偶数两部分,并按照原序列顺序输出调整后的数组元素。
代码实现
#include <iostream>
#include <vector>
std::vector<int> separateOddEven(const std::vector<int>& nums) {
std::vector<int> result;
for (int num : nums) {
if (num % 2 == 1) {
result.push_back(num); // 奇数放在结果数组的左边
}
}
for (int num : nums) {
if (num % 2 == 0) {
result.push_back(num); // 偶数放在结果数组的右边
}
}
return result;
}
int main() {
std::vector<int> nums;
std::cout << 'Enter the elements of the array (separated by commas): ';
std::string input;
std::getline(std::cin, input);
size_t pos = 0;
while ((pos = input.find(',')) != std::string::npos) {
nums.push_back(std::stoi(input.substr(0, pos))); // 将输入的字符串转换为整数
input.erase(0, pos + 1);
}
nums.push_back(std::stoi(input)); // 处理最后一个元素
std::vector<int> separated = separateOddEven(nums);
std::cout << 'Adjusted array: ';
for (size_t i = 0; i < separated.size(); ++i) {
std::cout << separated[i];
if (i != separated.size() - 1) {
std::cout << ',';
}
}
std::cout << std::endl;
return 0;
}
代码解释
-
separateOddEven
函数- 接受一个整数数组
nums
作为参数。 - 创建一个新的
result
数组来存储调整后的结果。 - 遍历
nums
,将奇数元素加入result
的左边。 - 再次遍历
nums
,将偶数元素加入result
的右边。 - 返回
result
数组。
- 接受一个整数数组
-
main
函数- 从用户输入中获取整数数组元素,并将它们存储在
nums
中。 - 调用
separateOddEven
函数,并将返回的调整后的数组存储在separated
中。 - 遍历
separated
数组,输出调整后的数组元素。
- 从用户输入中获取整数数组元素,并将它们存储在
示例运行结果
Enter the elements of the array (separated by commas): 1,2,3,4,5,6,7,8,9,10
Adjusted array: 1,3,5,7,9,2,4,6,8,10
总结
本示例程序使用 C++ 实现将一个整数数组分为奇数和偶数两部分,并按照原序列顺序输出调整后的数组元素。代码逻辑清晰,易于理解,可作为学习 C++ 数组处理和算法的参考。

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