getValue() / $M)][] = $element; } $sorted = []; foreach ($buckets as $bucket) { $sorted[] = $algo::sort($bucket, SortOrder::ASC); } return $order === SortOrder::ASC ? array_merge(...$sorted) : array_reverse(array_merge(...$sorted), false); } }