如何按升序将偶数从向量 a 转移到向量 b?
How to transfer even numbers from vector a to vector b in ascending order?
我刚刚开始C++,我处于一个艰难的境地,向量。我的问题是: 如何将向量 a 中的偶数按升序放入向量 b 中? 例如:7 4 2 9 5 -> 2 4 另外,如果可能的话,我希望现在最简单的算法能够理解,没有什么高级的。我只知道气泡排序。
一个简单的方法是将向量中的所有偶数条目复制到另一个向量,然后对该向量进行排序。这将很容易实现,如果您已经有一个运行良好的气泡排序算法,则可以使用该函数而不是从头开始。要将偶数分隔到新向量中,可以执行以下操作:
for(size_t i = 0; i < myVec.size(); ++i)
{
if(myVec[i] % 2 == 0)
{
sortVec.push_back(myVec[i]);
}
}
然后,您可以在sortVec
之后对气泡进行排序,您将按升序或降序排列偶数,并且可以更改它以对奇数执行相同的操作。
按升序对向量进行排序:
#include <algorithm>
// intVec is your std::vector<int>
std::sort(intVec.begin(), intVec.end())
两个选项: - 将您的vector
过滤为仅包含偶数的新,然后std::sort
- 编写一个用于排序的函数,该函数首先排序为偶数和奇数,然后按大小排序,然后仅使用std::sort
。然后,您将有一个包含所有数字的vector
,开头排序为偶数,如果您愿意,可以修剪向量
第一个有点快,但都有他们的魅力,我认为
相关文章:
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 尝试通过多个向量访问变量时,向量下标超出范围
- 如何通过派生类函数更改基类中的向量
- C++从另一个类访问公共静态向量的正确方法是什么
- 如何将ampl中的集合表示为c++中的向量
- 变量没有改变?通过向量的函数调用
- 迭代时从向量和内存中删除对象
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 计算排序向量的向量中唯一值的计数
- 如何将元素从向量转移到新数组?
- 为什么最后一个推回向量的对象的字段会转移到向量的其他对象?
- 如何将所有权从一个共享指针向量转移到另一个向量?
- 如何按升序将偶数从向量 a 转移到向量 b?
- 可以将对象从向量A移至向量B,而不是从B转移到A