Поскольку я продолжаю поиски функционального программирования, я пришел , чтобы задаться вопросом, могут ли быть альтернативы мой «процедурный» способ по умолчанию мышления. Чтобы быть более конкретным, я смотрю на функцию I . Вот что он делает:Функциональная альтернатива?
Swap two elements of an unordered list of numbers, such that one of the elements
is now in the right place
Add the sum of the swapped values to an accumulated total
Repeat until list is sorted
Итак, сейчас я использую стандартную петлю * с переменной Accum сделать выше. Он работает отлично и все, и нет ничего плохого с итерацией в реальной жизни, но поскольку цель этого упражнения - расширить мой образ мышления, мне любопытно, есть ли более функциональный подход к вышеуказанному алгоритму ,
Спасибо!
* (На самом деле рекурсии, но безотносительно)
Спасибо за просветление;) Я знаю, что алгоритм немного глуп; его цель состоит не столько в сортировке списка, сколько в определении «стоимости» этого (с ценой, определяемой как минимальная сумма требуемых свопов). – 2008-11-25 18:35:01