如何找到向量中元素的索引?假设向量的快照包含
10 12 15 23 43
现在我想插入一个数字。
1-插入15 =>返回2(位置)
2- 插入 50 => push_back() => return 5 (位置)
这是我写的,但是我无法将迭代器转换为整数。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> v;
int insertVector(int a);
int main()
{
int a;
cout << "enter number: ";
cin >> a;
int pos = insertVector(a);
cout << pos; // update
return 0;
}
int insertVector(int a)
{
vector<int>::iterator it;
it = find(v.begin(), v.end(), a);
if (it == v.end()) {
v.push_back(a);
return v.size();
}
return it; // error
}
更新:
如果我更改return it;
为return *it;
,则输出错误。像这样:
enter number: 10
1
enter number: 20
2
enter number: 25
3
enter number: 35
4
enter number: 45
5
enter number: 5
6
enter number: 25
25 // wrong