c++ vector实现np.where
时间: 2023-10-13 16:16:31 浏览: 151
C++vector的实现
5星 · 资源好评率100%
在 C++ 中,可以使用 std::vector 来实现类似于 NumPy 中的 np.where 函数。
假设有一个 std::vector<int> nums,我们想要找出其中所有大于 5 的元素所在的索引。可以使用以下代码:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> nums = {3, 6, 7, 2, 9, 8, 1};
std::vector<int> indices;
for (int i = 0; i < nums.size(); ++i) {
if (nums[i] > 5) {
indices.push_back(i);
}
}
std::cout << "Indices of elements greater than 5: ";
for (auto idx : indices) {
std::cout << idx << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
Indices of elements greater than 5: 1 2 4 5
```
这里我们使用一个 for 循环来遍历 nums 中的每个元素,如果该元素大于 5,则将其索引加入 indices 中。最后遍历 indices 并输出其中的元素索引。
阅读全文