blob: 9e8cf8c589f1ee5caeca33832bbdd7d5fe55cc3c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include <vector>
#include <iostream>
#include <algorithm>
void reorderList( std::vector<int> & numbers ,
std::vector<int> & indices ) {
std::vector<int> sublist ;
for ( int i : indices ) {
sublist.push_back( numbers[ i ] ) ;
}
std::sort( indices.begin( ) , indices.end( ) ) ;
std::sort( sublist.begin( ) , sublist.end( ) ) ;
for ( int i = 0 ; i < indices.size( ) ; i++ ) {
numbers[ indices[ i ]] = sublist[ i ] ;
}
}
int main( ) {
std::vector<int> numbers { 10 , 4 , 1 , 8 , 12 , 3 } ;
std::vector<int> indices { 0 , 2 , 5 } ;
reorderList( numbers , indices ) ;
for ( int i : numbers )
std::cout << i << ' ' ;
std::cout << std::endl ;
return 0 ;
}
|