如何在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)