如何在C++向量中找到给定元素的索引

如何在C++向量中找到给定元素的索引

给定一个由 N 个整数组成的向量 V 和一个元素 K ,任务是找到向量 V 中元素 K 的索引。如果向量中不存在该元素,则输出 -1

例:

输入: V = {1, 45, 54, 71, 76, 17},K = 54

输出: 2

解释:

54的索引为2,因此输出为2。

输入: V = {3, 7, 9, 11, 13},K = 12

输出: -1

方法:

按照下面的步骤解决问题:

  • find(): 用于找到向量中元素的位置。
  • 从find函数返回的迭代器中减去向量的基本迭代器。
  • 最后返回减法所返回的索引。

以下是以上方法的实现:

// C++程序来找到索引
//异味的一个元素在一个向量中
#include
using namespace std;
 
//函数打印
//索引的一个元素
void getIndex(vector v, int K)
{
    auto it = find(v.begin(), v.end(), K);
 
    //如果找到元素
    如果(it!= v.end()) 
    {
      
        //计算索引
        //的K
        int index = it - v.begin();
        cout << index << endl;
    }
    else {
        //如果元素不是
        //在向量中
        cout << "-1" << endl;
    }
}
//驱动程序
int main()
{
    //向量
    vector v = {1, 45, 54, 71, 76, 17};
    //需要找到它的值
    //索引
    int K = 54;
    getIndex(v, K);
    return 0;
}  

输出:

2

时间复杂度: O(N)

辅助空间: O(1)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程