c++实现matlab find函数
时间: 2024-06-18 21:06:01 浏览: 148
C++中实现类似于Matlab中的find函数可以使用STL中的vector容器来存储待查找的数据,然后使用for循环遍历vector,将满足条件的元素的下标加入到另一个vector中返回。
以下是一个简单的实现示例代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
vector<int> find(vector<int> vec, int val) {
vector<int> res;
for(int i=0; i<vec.size(); i++) {
if(vec[i] == val) {
res.push_back(i);
}
}
return res;
}
int main() {
vector<int> vec = {1, 2, 3, 2, 4, 2};
vector<int> res = find(vec, 2);
for(int i=0; i<res.size(); i++) {
cout << res[i] << " ";
}
cout << endl;
return 0;
}
```
该代码中,find函数接收两个参数,一个是待查找的vector,另一个是要查找的值。函数中首先创建一个vector类型的res,用于存储查找到的元素下标。然后使用for循环遍历vector,如果当前元素等于要查找的值,就将当前下标加入到res中。最后返回res。
相关问题:
1. C++中如何定义和使用vector容器?
2. C++中如何使用for循环遍历vector容器?
3. C++中如何定义和使用函数?
阅读全文