Sleepsort

Из «Хабра» узнал про алгоритм sleepsort. Он больше забавный, чем практичный, я переписал его на баш:
while [ -n "$1" ]; do
    ( sleep "${1/%[0-9]/}.${1:(-1)}" ; echo "$1" ) &
    shift
done
wait
echo
Смысл в том, что запускается несколько параллельных процессов, по числу сортируемых значений, с паузой кратного значению размера. Вывод каждого из процессов происходит после истечения паузы, поэтому значения появляются в уже отсортированном виде:
$ bash sleepsort 1 2 7 10 3

1
2
3
7
10
9 октября 2012 17:20

Александр Карпинский (инкогнито)
9 октября 2012, 18:29

Только не «по числу сортируемых параметров», а по числу сортируемых значений. Как-то это запутало сперва.

bolk (bolknote.ru)
9 октября 2012, 20:24, ответ предназначен Александру Карпинскому

Тут параметры = значения. Но исправлю, ок.

Сергей (инкогнито)
10 октября 2012, 16:12

javascript

function sleepsort(arr) {
    var q = function (arg) {
        setTimeout(function () {
            console.info(arg);
        }, arg * 1000);
    };
    for (var i = 0; i < arr.length; i++) {
        q(arr[i]);
    }
}
sleepsort([1, 3, 5, 2, 4]);

bolk (bolknote.ru)
10 октября 2012, 16:32, ответ предназначен Сергею

Сложно как-то.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)