1212static std::mt19937 gen (std::chrono::high_resolution_clock::now().time_since_epoch().count());
1313
1414TEST_CASE (" general sorting functions" ) {
15- constexpr std::size_t ELEMENTS_COUNT = 500 ;
16-
17- std::vector<int > to_sort;
18- to_sort.reserve (ELEMENTS_COUNT);
15+ std::vector<int > to_sort (500 );
1916
2017 std::uniform_int_distribution<> dist;
21- for ( std::size_t i = 0 ; i < ELEMENTS_COUNT; ++i ) {
22- to_sort. push_back ( dist (gen) );
23- }
18+ std::generate (to_sort. begin (), to_sort. end (), [&dist]( ) {
19+ return dist (gen);
20+ });
2421
2522 SECTION (" bubble_sort" ) {
2623 SECTION (" default compare" ) {
@@ -95,16 +92,14 @@ TEST_CASE("general sorting functions") {
9592}
9693
9794TEST_CASE (" radix_sort & counting_sort" ) {
98- constexpr std::size_t ELEMENTS_COUNT = 500 ;
99-
100- std::vector<unsigned > to_sort;
101- to_sort.reserve (ELEMENTS_COUNT);
95+ std::vector<unsigned > to_sort (500 );
10296
10397 constexpr auto MAX_ELEMENT = 100U ;
10498 std::uniform_int_distribution<unsigned > dist (0U , MAX_ELEMENT);
105- for (std::size_t i = 0 ; i < ELEMENTS_COUNT; ++i) {
106- to_sort.push_back (dist (gen));
107- }
99+
100+ std::generate (to_sort.begin (), to_sort.end (), [&dist]() {
101+ return dist (gen);
102+ });
108103
109104 SECTION (" counting_sort" ) {
110105 alg::counting_sort (to_sort.begin (), to_sort.end (), MAX_ELEMENT);
@@ -117,15 +112,12 @@ TEST_CASE("radix_sort & counting_sort") {
117112}
118113
119114TEST_CASE (" bucket_sort" ) {
120- constexpr std::size_t ELEMENTS_COUNT = 100 ;
121-
122- std::vector<double > to_sort;
123- to_sort.reserve (ELEMENTS_COUNT);
115+ std::vector<double > to_sort (500 );
124116
125117 std::uniform_real_distribution<> dist;
126- for ( std::size_t i = 0 ; i < ELEMENTS_COUNT; ++i ) {
127- to_sort. push_back ( dist (gen) );
128- }
118+ std::generate (to_sort. begin (), to_sort. end (), [&dist]( ) {
119+ return dist (gen);
120+ });
129121
130122 SECTION (" random access iterator" ) {
131123 alg::bucket_sort (to_sort.begin (), to_sort.end ());
@@ -144,15 +136,12 @@ TEST_CASE("bucket_sort") {
144136}
145137
146138TEST_CASE (" quick_select" ) {
147- constexpr std::size_t ELEMENTS_COUNT = 100 ;
148-
149- std::vector<int > sample_array;
150- sample_array.reserve (ELEMENTS_COUNT);
139+ std::vector<int > sample_array (500 );
151140
152141 std::uniform_int_distribution<> dist;
153- for ( std::size_t i = 0 ; i < ELEMENTS_COUNT; ++i ) {
154- sample_array. push_back ( dist (gen) );
155- }
142+ std::generate (sample_array. begin (), sample_array. end (), [&dist]( ) {
143+ return dist (gen);
144+ });
156145
157146 auto sorted = sample_array;
158147 std::sort (sorted.begin (), sorted.end ());
0 commit comments