用c语言实现find函数,在c ++中使用find_if()函数
时间: 2024-03-16 12:47:19 浏览: 71
C++find()函数用法
5星 · 资源好评率100%
好的,关于你的问题,我可以为你提供一些帮助。
首先,让我们来看看如何使用C语言实现类似于STL中的find函数。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int find(int *arr, int size, int target) {
for(int i = 0; i < size; i++) {
if(arr[i] == target) {
return i;
}
}
return -1;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(int);
int target = 4;
int result = find(arr, size, target);
printf("the index of %d is %d\n", target, result);
return 0;
}
```
在这个例子中,我们使用了一个简单的for循环来遍历整个数组,如果我们找到了目标元素,就返回它的索引。如果查找失败,我们返回-1。
接下来,让我们看看如何在C++中使用find_if()函数。以下是一个示例代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
bool isOdd(int i) {
return i % 2 == 1;
}
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = std::find_if(vec.begin(), vec.end(), isOdd);
if(it != vec.end()) {
std::cout << "the first odd number is " << *it << std::endl;
} else {
std::cout << "no odd number is found" << std::endl;
}
return 0;
}
```
在这个例子中,我们使用了一个名为isOdd()的函数来检查一个数字是否为奇数。我们使用std::find_if()函数来查找第一个奇数。如果找到了奇数,我们输出它的值。否则,我们输出一条消息表示没有找到奇数。
希望这些示例代码能够帮助你回答你的问题!
阅读全文