问题标签 [shuffle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6102 浏览

vb.net - 随机数但不重复

我想生成一个小于 50 的随机数,但是一旦生成了该数字,我希望它不会再次生成。

谢谢您的帮助!

0 投票
3 回答
11663 浏览

arrays - 如何在 Scala 数组上使用 Java Collections.shuffle()?

我有一个要随机排列的数组。在 Java 中,有一个方法 Collections.shuffle() 可以随机打乱 List 的元素。它也可以在数组上使用:

我尝试在 Scala 数组上使用它,但 Scala 解释器给出了一个冗长的答案:

这里到底发生了什么?我不想用特殊标志(-Xno-varargs-conversion)编译我的代码,如果那是解决方案的话,正因为如此。

那么,如何在 Scala 数组上使用 Java 的 Collections.shuffle() 呢?

与此同时,我在 Scala 中编写了自己的 shuffle 方法:

它在适当的位置打乱数组,并为方便起见返回数组本身。

0 投票
13 回答
49448 浏览

c# - 使用 Random 和 OrderBy 是否是一个好的 shuffle 算法?

我在Coding Horror阅读了一篇关于各种 shuffle 算法的文章。我已经看到人们在某处这样做是为了对列表进行洗牌:

这是一个好的洗牌算法吗?它是如何工作的?这是一种可接受的方式吗?

0 投票
4 回答
1164 浏览

perl - 如何在 Perl 中以完全相同的方式洗牌两个数组?

有谁知道如何在 Perl 中以完全相同的方式随机打乱两个数组?例如,假设我有这两个数组:

洗牌前:数组1:1、2、3、4、5数组2:a、b、c、d、e

洗牌后:数组1:2、4、5、3、1数组2:b、d、e、c、a

因此,每个数组中的每个元素都绑定到其等效元素。

0 投票
5 回答
1963 浏览

delphi - 排序 TListbox -- 高点和低点

好的,我有一个 TListBox,有时可能会被要求显示 43,000 行!

我知道,这几乎没有任何意义,但确实如此。

现在这是当前的问题:

使用内置的 Sort 方法和它的 Compare 回调函数,几乎需要很长时间,比如几分钟。

因此,我将列表框中的字符串提取到一个普通的、旧的 ShortStrings 动态数组中,对其执行 QuickSort(),这大约需要三秒钟。哇,我想!

稍微思考了一下,我看到 QuickSort 正在移动所有这些字符串,这是没有必要的,所以我可以让代码只移动指针或索引到字符串,瞧,排序又快了很多,花费不到一秒钟的时间对 43,000 件物品进行分类。大获全胜,是吗?

但是,现在如果我执行 LB.Items.Add() 或 LB.Items.Assign 将排序后的字符串移动到列表框中,则需要 30 秒!即使发生 BEgin/EndUpdate。如果我跟踪代码,我会看到 delete() Insert() INsertObject() 和 Windows 消息无缘无故飞来飞去。

片刻之后显示我在 LB.TStrings 中拥有所有字符串,我只需要在我的 QuickSorted() 数组周围随机排列它们。这应该是微不足道的,只是移动一些指针。

但我看不到任何设置原始 TStringList 指针的可见方法。不, Exchange() 真的很慢。

有什么想法可以获取 TString 字符串指针吗?这应该是微不足道的,但我没有看到。

谢谢,

乔治

0 投票
6 回答
1490 浏览

algorithm - 如何使用 O(1) 辅助空间将数组置换为给定的顺序?

如何实现以下OrderElements功能?

当您可以使用线性额外空间时很容易,但是否可以只使用恒定的额外空间来完成,即直接chars就地对元素进行排序?

PS:这不是考试题;我实际上需要这个功能。

澄清:似乎对所需的元素最终顺序存在误解。示例中的结果数组应具有以下元素,引用原始chars数组:

这是

0 投票
31 回答
502668 浏览

java - 数组的随机洗牌

我需要随机洗牌以下数组:

有什么功能可以做到这一点吗?

0 投票
1 回答
2941 浏览

matlab - 这个 MATLAB 代码是如何工作的?(概率和随机序列)

我在文章“ Never-ending Shuffled Sequence ”的评论中看到了这段代码。我了解基本前提,但我不知道它是如何工作的。我需要的最大解释是 while 循环的前两行。

(因为它是用 MATLAB 编写的,我只能猜测这段代码的功能。)

0 投票
7 回答
3783 浏览

c++ - c ++矢量随机洗牌部分

什么是对向量中一定百分比的元素进行洗牌的最佳方法。

假设我想要 10% 或 90% 的向量被打乱。不一定是前 10%,而只是全面的 10%。

TIA

0 投票
5 回答
2797 浏览

c++ - 验证 Knuth shuffle 算法是否尽可能无偏见

我正在为我正在处理的 C++ 项目实现Knuth shuffle。我试图从我的洗牌中获得最公正的结果(而且我不是(伪)随机数生成方面的专家)。我只是想确保这是最公正的洗牌实现。

draw_t是字节类型(typedef'd to unsigned char)。items是列表中的项目数。我已经包含了random::get( draw_t max )下面的代码。

我正在使用的随机函数已被修改以消除模偏差RAND_MAX分配给random::_internal_max