如何查找矢量中元素的索引?假設矢量快照包含用迭代器查找元素的位置
10 12 15 23 43
現在我想插入一個數字。
1-插件15 =>返回2(的位置)
2-插件50 =>的push_back()=>返回5(的位置)
但是,這是我寫的I可以不要將迭代器轉換爲整數。
#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
}
UPDATE:
如果我改變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
是的,我知道。我該如何解決這個問題。我想要 – mahmood 2013-02-17 07:43:23