Вы можете дополнить их все до одинаковой длины, но нет реальной причины запускать алгоритм сортировки, чтобы определить, что число длины 5 в двоичном формате больше, чем число длины 2. Скорее всего, вы получите лучшую производительность, сгруппировав числа по длине и выполнив сортировку по осям в каждой группе. Конечно, это зависит от того, как вы их группируете, а затем от того, как вы сортируете свои группы.
Примером того, как вы могли бы сделать это, было бы запустить все элементы один раз и выбросить их все в хеш-таблицу (длина -> числа этой длины). Это занимает линейное время, а затем, скажем, nlogn время, чтобы получить к ним доступ по порядку. Радикальная сортировка выполняется за время O (nk), где n - количество элементов, а k - их средняя длина. Если у вас большое k, тогда разница между O (nk) и O (nlogn) будет приемлемой.