#include <iostream> #include <array> #include <algorithm> #include <random> template < typename T, unsigned N > void print_table( const std::array<T, N> & array ) { std::cout << "array{"; for ( auto i : array ) std::cout << i << ", "; std::cout << "}" << std::endl; } int main() { std::array<int, 20> numbers; std::random_device rd; std::mt19937 mt(rd()); std::uniform_int_distribution<int> dist(1,20); std::generate(std::begin(numbers), std::end(numbers), [&](){ return dist(mt);}); print_table(numbers); std::stable_sort(std::begin(numbers), std::end(numbers)); print_table(numbers); return 0; }
Standard input is empty
array{19, 5, 3, 6, 1, 19, 8, 6, 15, 9, 10, 17, 2, 6, 15, 6, 8, 17, 9, 6, }
array{1, 2, 3, 5, 6, 6, 6, 6, 6, 8, 8, 9, 9, 10, 15, 15, 17, 17, 19, 19, }