21xrx.com
2024-12-23 01:43:43 Monday
登录
文章检索 我的文章 写文章
C++ vector查找索引
2023-06-24 06:47:04 深夜i     --     --
C++ vector 查找 索引

C++中的vector是一种常用的容器,它提供了可变大小的数组,而且支持高效的元素增加、删除和访问。当我们需要在vector中查找某个元素的索引时,可以采用以下方法:

1.使用循环遍历元素

我们可以使用for循环逐个遍历vector中的元素,通过比较元素的值来确定索引位置。例如,如果我们要查找vector中第一个值为5的元素的索引,可以使用以下代码:


vector<int> vec = 8;

int index = -1;

for (int i = 0; i < vec.size(); i++) {

  if (vec[i] == 5)

    index = i;

    break;

  

}

if (index != -1)

  cout << "The index of 5 is " << index << endl;

else

  cout << "5 not found in vector" << endl;

2.使用STL算法

除了循环遍历,我们还可以使用STL算法来快速查找vector中的元素。其中,find算法可以在vector中查找指定元素的位置,如果找到则返回指向该元素的迭代器,否则返回vector的末尾迭代器(即end())。例如,我们可以使用以下代码来查找vector中第一个值为5的元素的索引:


vector<int> vec = 6;

auto it = find(vec.begin(), vec.end(), 5);

if (it != vec.end()) {

  int index = distance(vec.begin(), it);

  cout << "The index of 5 is " << index << endl;

} else

  cout << "5 not found in vector" << endl;

其中,distance算法可以计算两个迭代器之间的距离,并把距离转换为整数类型。

总结

在C++中,vector是一种强大的容器,提供了丰富的操作接口,可以满足各种需求。如果我们需要在vector中查找某个元素的索引,可以采用for循环或STL算法来实现。其中,STL算法具有更高的效率和更简洁的代码风格,是值得推荐的做法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复