std:vector 如何获取元素的index
时间: 2023-11-24 19:08:08 浏览: 195
在 C++ 中,可以使用 std::vector 的迭代器来获取元素的索引,也可以使用下标操作符 [] 来获取。
使用迭代器:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
int index = 0;
for (auto it = vec.begin(); it != vec.end(); ++it) {
if (*it == 3) {
index = std::distance(vec.begin(), it);
break;
}
}
std::cout << "Index of 3 is " << index << std::endl;
```
上述代码中,我们使用迭代器遍历 vector 中的元素,当找到值为 3 的元素时,使用 std::distance 函数计算出该元素在 vector 中的索引。
使用下标操作符 []:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
int index = -1;
for (int i = 0; i < vec.size(); ++i) {
if (vec[i] == 3) {
index = i;
break;
}
}
std::cout << "Index of 3 is " << index << std::endl;
```
上述代码中,我们使用循环遍历 vector 中的元素,当找到值为 3 的元素时,使用循环变量 i 就是该元素在 vector 中的索引。
需要注意的是,上述两种方法都是在 vector 中查找某个元素的索引,如果要查找多个元素的索引,建议使用迭代器来遍历 vector,因为迭代器可以提高遍历效率。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)