#include #include template void build_array(const std::vector &vec) { std::vector ret(vec.size(),0); for(size_t i = 0; i < vec.size(); ++i) ret.at(i) = vec.at(vec.at(i)); for(size_t i = 0; i < ret.size(); ++i) std::cout << ret.at(i) << ' '; std::cout << '\n'; } int main() { std::vector vec1 = {0,2,1,5,3,4}; std::vector vec2 = {5,0,1,2,3,4}; build_array(vec1); build_array(vec2); return 0; }