find index in a vector-help urgent!
how can i find the index of a certain number in a vector?
Last edited on
There is special standard algorithm that has name
std::find
For example
std::vector<int> v = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
std::cout << std::distance( v.begin(), std::find( v.begin(), v.end(), 5 ) ) << std::endl;
Here is a compiled example
1 2 3 4 5 6 7 8 9 10 11
|
#include <iostream>
#include <iterator>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> v = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
std::cout << std::distance( v.begin(), std::find( v.begin(), v.end(), 5 ) ) << std::endl;
}
|
The output is
4
Last edited on
my vector is defined so:
vector<float>difflist;
can i use this std also for this vector ??
and i am sorting my vector. for example my vector is:
1 2 3
|
vector<float>difflist;
difflist.push_back(5, 6, 12, 9, 37)
|
ı sort my vector and it seems so: 5, 6, 9, 12, 37.
now, how can i find the place of nine in orginal vector?
if i use this way:
std::cout << std::distance( v.begin(), std::find( v.begin(), v.end(), 5 ) ) << std::endl;
will it give me 3 or2?
It will give you 0 because 5 is the first element of your vector after sorting.
Topic archived. No new replies allowed.