此算法将接收一个数组并洗牌数组的内容。它将生成数组元素的随机排列。为了解决这个问题,我们将从最后一个索引开始交换元素,以随机生成数组中的索引。输入和输出输入:整数数组:{1, 2, 3, 4, 5, 6, 7, 8} 输出:数组内容的洗牌:3 4 7 2 6 1 5 8(下次运行输出可能不同)算法randomArr(array, n)输入:数组,元素个数。输出:洗牌数组的内容。开始 for i := n – 1 down to 1, do … 阅读更多
给定字符串列表按字母数字顺序或字典顺序排序。例如,对于这些单词:Apple、Book、Aim,它们将按 Aim、Apple、Book 的顺序排序。如果有一些数字,它们可以放在字母字符串之前。输入和输出输入:字符串列表:Ball Apple Data Area 517 April Man 506 输出:排序后的字符串:506 517 Apple April Area Ball Data Man算法sortStr(strArr, n)输入:所有字符串的列表,元素个数。输出:按字母数字排序的字符串。开始 for round := 1 to n-1, do … 阅读更多
蓄水池抽样是一种随机算法。在此算法中,从包含 n 个不同项目的列表中选择 k 个项目。我们可以通过创建一个大小为 k 的数组作为蓄水池来解决它。然后随机从主列表中选择一个元素并将其放入蓄水池列表中。一旦选择了一个项目,它将不会被再次选择。但是这种方法效率不高,我们可以通过这种方法增加复杂度。在蓄水池列表中,复制列表中的前 k 个项目,现在一个接一个地从列表中的第 (k+1) 个数字开始,…… 阅读更多