当我继续学习函数式编程时,我开始怀疑是否有替代我默认的“过程”思维方式的替代方案。更具体地说,我正在查看我编写的函数。这是它的作用:
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 变量的标准循环*来执行上述操作。它工作得很好,而且在现实生活中迭代肯定没有错,但是由于这个练习的目的是扩展我的思维方式,我很好奇上述算法是否有更实用的方法。
谢谢!
*(实际上是递归,但无论如何)