//C方式编写的函数,使用指针
#include <iostream>
using namespace std;
void printIntArr(const int arr[], int size)
{
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
void separateOddsAndEvens(const int arr[], int size, int** odds, int* numOdds,
int** evens, int* numEvens)
{
// Count the number of odds and evens
*numOdds = *numEvens = 0;
for (int i = 0; i < size; i++) {
if (arr[i] % 2 == 1) {
(*numOdds)++;
} else {
(*numEvens)++;
}
}
// Allocate two new arrays of the appropriate size
*odds = new int[*numOdds];
*evens = new int[*numEvens];
// Copy the odds and evens to the new arrays
int oddsPos = 0, evensPos = 0;
for ( i = 0; i < size; i++) {
if (arr[i] % 2 == 1) {
(*odds)[oddsPos++] = arr[i];
} else {
(*evens)[evensPos+
三种不同方法将数组分成奇数和偶数两个数组
最新推荐文章于 2023-11-13 17:12:41 发布
本文介绍了三种不同的方法,包括C语言和C++的两种方式,用于将整数数组拆分为包含奇数和偶数的两个数组。分别使用了原始指针、引用和STL向量容器进行实现,并展示了如何遍历数组并分配元素到新数组中。
摘要由CSDN通过智能技术生成