新函数 SubsetMap 允许从表达式中提取元素的子集,对其进行操作,最后将其插回表达式的同一个位置。在下面的例子中,SubsetMap 被用来构建排序网络。
来看一个简单的例子,取一个整数列表,累加偶数位置上的元素。
现在按反序排列列表中偶数位置上的元素。
还有一个更有趣的应用,编写一个排序网络,对元素对进行随机排序,直到所有元素都被排序。
对于较长的列表,找到要重新排序的最后元素可能需要很多步骤。
因此,对数表示更合适。