Пробелы (эзотерический язык программирования) Алгоритм сортировки
Я хочу реализовать алгоритм сортировки в Whitespace. Как вы знаете, пробелы используют только стек и кучу. Есть идеи, какой алгоритм сортировки можно легко реализовать?
1 ответ
Поскольку Whitespace имеет только один стек и одну кучу, алгоритм сортировки на месте был бы идеальным.
Первой на ум пришла сортировка вставками, где сортировку и чтение из STDIN можно объединить в одно целое. Рассмотрим это немного подробнее: сортировка Shell с реализацией Insertion, вероятно, ваш лучший выбор. Фактически, на странице сортировки Shell Rosetta Code я смог найти программу сортировки пробелов, включая объяснение и рабочую ссылку ideone † .
† Поскольку компиляторы пробелов могут иметь свою собственную реализацию, этот алгоритм работает не во всех сетевых компиляторах пробелов. В TIO например выдает ошибку из-за отрицательных индексов.Икомпилятор Whitespace vii5ard , к сожалению, сломался пару месяцев назад, так что не уверен, что он там работал бы. Я мог бы еще раз взглянуть позже, чтобы изменить программу, чтобы она работала и с TIO, если вы не хотите попытаться сделать это самостоятельно, чтобы лучше понять алгоритм сортировки, используемый в программе пробелов.