C++/STL Algorithms Helper/distance
distance for vector
<source lang="cpp">
- include <algorithm>
- include <iostream>
- include <vector>
using namespace std; int main( ) {
vector<int> v; v.push_back(0); v.push_back(1); v.push_back(2); cout << v.size( ) << endl; cout << distance(v.begin( ), v.end( )) << endl;
} /* 3 3
*/ </source>
Get the distance between two element in a list
<source lang="cpp">
/* The following code example is taken from the book
* "The C++ Standard Library - A Tutorial and Reference" * by Nicolai M. Josuttis, Addison-Wesley, 1999 * * (C) Copyright Nicolai M. Josuttis 1999. * Permission to copy, use, modify, sell and distribute this software * is granted provided this copyright notice appears in all copies. * This software is provided "as is" without express or implied * warranty, and with no claim as to its suitability for any purpose. */
- include <iostream>
- include <list>
- include <algorithm>
using namespace std; int main() {
list<int> coll; // insert elements from -3 to 9 for (int i=-3; i<=9; ++i) { coll.push_back(i); } // search element with value 5 list<int>::iterator pos; pos = find (coll.begin(), coll.end(), // range 5); // value if (pos != coll.end()) { // process and print difference from the beginning cout << "difference between beginning and 5: " << distance(coll.begin(),pos) << endl; } else { cout << "5 not found" << endl; }
} /* difference between beginning and 5: 8
*/ </source>