fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <tuple>
  4.  
  5. int main(){
  6. int a[] = { 123, 456, 678, 135, 564, 55, 5610 };
  7. int idx = 0;
  8. std::vector< std::tuple<int,int> > vec;
  9.  
  10. std::transform( std::begin(a), std::end(a),
  11. std::back_inserter(vec),
  12. [&]( int v ){ return std::make_tuple( v, idx++); }
  13. );
  14.  
  15. std::sort( vec.begin(), vec.end() );
  16. for( auto & v : vec ){
  17. std::cout << std::get<0>(v) << " " << std::get<1>(v) << "\n";
  18. }
  19.  
  20. return 0;
  21. }
  22.  
Success #stdin #stdout 0s 3232KB
stdin
Standard input is empty
stdout
55 5
123 0
135 3
456 1
564 4
678 2
5610 6