如何使用矢量元素将项目添加到结构中?
How can I add an item to the structure with vector elements?
我想添加向量的峰值位置和峰值数,但我找不到添加元素然后返回它的方法,或者将其写入控制台。
#include <iostream>
#include <vector>
using namespace std;
struct PeakData {
vector<int> pos, peaks;
};
PeakData pick_peaks(vector<int> v) {
PeakData result;
for (int i = 1; i < v.size() - 1; i++) {
if ((v[i] > v[i - 1]) && (v[i] > v[i + 1])) {
result.peaks.push_back(v[i]);
result.pos.push_back(i);
}
}
return result;
}
示例:pickPeaks([3, 2, 3, 6, 4, 1, 2, 3, 2, 1, 2, 3]( 应返回 {pos: [3, 7], peaks: [6, 3]}
将其添加到您的主函数中:
int main()
{
vector<int> a = {3, 2, 3, 6, 4, 1, 2, 3, 2, 1, 2, 3};
PeakData stPickPeaks = pick_peaks(a);
vector<int> :: iterator itr;
for(itr = stPickPeaks.pos.begin(); itr<stPickPeaks.pos.end(); itr++)
{
cout <<*itr<<endl;
}
for(itr = stPickPeaks.peaks.begin(); itr<stPickPeaks.peaks.end(); itr++)
{
cout <<*itr<<endl;
}
return 0;
}
还要尝试通过引用或指针传递参数。
相关文章:
- 添加静态constexpr成员是否会更改结构/类的内存映射
- 无法添加多个键以映射将结构作为键
- 我可以在 C++ 中将数据成员/变量从其定义之外添加到结构中吗?
- C++:添加新结构时,结构指针向量中的所有元素都会更新
- 继承层次结构并将元素添加到向量
- 如何使用矢量元素将项目添加到结构中?
- 将结构时间规范添加到类(似乎没有其他类型的)会导致EXEC_BAD_ACCESS
- 为什么添加析构函数(甚至是空的)会破坏我的结构,该结构使用 ref 转发和折叠来保存 ref 或值的副本?
- 在C++中将类实例添加到对象层次结构中的问题
- 用于添加和查找查询的适当数据结构
- 如何在不添加对库的依赖的情况下添加与库结构的兼容性
- 将指向结构数组的指针添加到 std::map
- 如何将运算符定义从头文件添加到现有结构?
- 如何在类中添加结构,结构的向量以映射
- 尝试在文本文件中添加结构元素而不覆盖它
- 为什么我的向量没有添加结构
- 使用 enable_if 选择性地添加结构成员
- Clang重写器:为无效程序添加结构定义
- 向Std::vector添加结构体时使用Std::bad_alloc
- 动态地向容器中添加结构并检索它们