find函数用法c++
时间: 2024-03-04 17:21:58 浏览: 116
在C语言中,find函数没有原生的实现,需要自己编写实现。可以使用循环遍历数组或字符串,逐个比较元素或字符来实现查找。以下是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
int find(char *str, char ch) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] == ch) {
return i; // 找到了,返回索引
}
}
return -1; // 没找到,返回-1
}
int main() {
char str[] = "hello, world!";
char ch = 'o';
int index = find(str, ch);
if (index != -1) {
printf("%c found at index %d\n", ch, index);
} else {
printf("%c not found\n", ch);
}
return 0;
}
```
这个例子演示了如何在一个字符串中查找某个字符,并返回它的索引。如果找到了,返回索引值;如果没找到,返回-1。
相关问题
c++ find函数用法
C++中的find函数用于在一个容器中查找指定元素的位置。其基本语法如下:
```c++
iterator find(iterator first, iterator last, const T& value);
```
其中,`first`和`last`分别是表示容器中查找范围的迭代器,`value`则是待查找的元素。该函数会返回一个指向第一个匹配元素的迭代器,如果找不到匹配元素,则返回`last`。
例如,可以使用以下代码在vector容器中查找元素5的位置:
```c++
std::vector<int> vec = {1, 2, 3, 4, 5};
auto it = std::find(vec.begin(), vec.end(), 5);
if (it != vec.end()) {
std::cout << "Found element at position: " << std::distance(vec.begin(), it) << std::endl;
} else {
std::cout << "Element not found" << std::endl;
}
```
输出结果为:
```
Found element at position: 4
```
需要注意的是,`find`函数只适用于支持随机访问的容器,例如vector、deque、array等,对于其他容器,如list、set、map等,可以使用成员函数`find`来进行查找。
c++ vector的find函数用法
C++ 的 vector 类型提供了 find() 函数,用于在 vector 中查找指定元素。
find() 函数的语法如下:
```
iterator find (iterator first, iterator last, const T& val);
```
其中,first 和 last 是表示要查找的元素所在的范围的迭代器,val 是要查找的元素。
如果找到了指定元素,则函数返回该元素的迭代器;否则,函数返回 last 迭代器。
下面是一个示例:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> vec {1, 2, 3, 4, 5};
// 查找元素 3 是否在 vector 中
auto it = find(vec.begin(), vec.end(), 3);
if (it != vec.end()) {
cout << "元素 3 在 vector 中" << endl;
} else {
cout << "元素 3 不在 vector 中" << endl;
}
return 0;
}
```
输出结果为:
```
元素 3 在 vector 中
```
阅读全文