gpt4 book ai didi

c++ - 有没有其他方法可以在没有 vector 的情况下用 C++ 填充数组

转载 作者:行者123 更新时间:2023-12-03 06:56:23 29 4
gpt4 key购买 nike

所以我有数组 A 和 B,其中两个包含随机数,我需要在 C 数组中写入 A 和 B 的偶数,然后是奇数。我已经用 vector 制作了这个,但我想知道是否有其他方法可以做到这一点,就像在 Javascript 中有 .unshift()、.push() 等方法一样

#include<iostream>
#include<vector>
using namespace std;

int main() {
const int n = 4;
int A[n];
int B[n];
vector<int>C;
for (int i = 0; i < n; i++)
{
A[i] = rand() % 10;
cout << A[i] << " ";
}
cout << endl;
for (int i = 0; i < n; i++)
{
B[i] = rand() % 30;
cout << B[i] << " ";
}
for (int i = 0; i < n; i += 1)
{
if (A[i] % 2 == 0)
{
C.push_back(A[i]);
}
if (B[i] % 2 == 0)
{
C.push_back(B[i]);
}
}
for (int i = 0; i < n; i++)
{
if (A[i] % 2 != 0)
{
C.push_back(A[i]);
}
if (B[i] % 2 != 0)
{
C.push_back(B[i]);
}
}
cout << endl;
for (int i = 0; i < C.size(); i++)
cout << C[i] << " ";
}

最佳答案

我建议最初将 AB 交错放置:

for (int i = 0; i < n; i += 1)
{
C.push_back(A[i]);
C.push_back(B[i]);
}

然后将 C 分成偶数和奇数元素:

std::stable_partition(C.begin(), C.end(), [](int i) { return i % 2 == 0; });

关于c++ - 有没有其他方法可以在没有 vector 的情况下用 C++ 填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64860114/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com