Pull to refresh
8K+
3

Программист

7
Rating
Send message

as rust quicksort.py

fn quicksort(items) {

if len(items) <= 1 {
return items;
}
let pivot, *rest = items;
let lo = [x for x in rest if x < pivot];
let hi = [x for x in rest if x >= pivot];
return quicksort(lo) + [pivot] + quicksort(hi);
}

Экспериментальная шкура, едет в 0.1.1. "Yay!.."

Уже работаю над этим :)

Да, упадёт. Опорный элемент первый, отсортированный массив - худший случай, глубина рекурсии линейная, и Python упрётся в лимит задолго до "большого". Quicksort здесь ради компактности трёх шкур, не алгоритмической добродетели

К опубликованной статье опрос не прикрутить. Но следующей серией, когда появится C-шкура, голосование «в чём читать ваш Python» станет осмысленным.

Это переводчик, а не трансформер желаний - она переводит то, что есть, между тремя каноническими формами. Каждая причуда это отдельная шкура, их комбинаторика рвёт round-trip. Threading-макросы уже запрещены по той же причине, неоднозначность ломает контракт. Вашему товарищу - отдельный патч, товарищей не бросаем.

Табы и пробелы не трогаем. Пара py<->скобки живёт на уровне токенов, исходное форматирование переживает конвертацию - какие пробелы в исходнике, такие и останутся. Египетские скобки - дефолт принтера, K&R. Но вы правы: это ВАЖНО.

Information

Rating
932-nd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Specialist
Разработка программного обеспечения
C
Java