Gre*_*ino 1 java shuffle list arraylist
我有一个"令牌"的数组列表.我可以用整数填充它们,没问题.但是,我无法在不使用内置列表类的情况下随机重新排列它们.有什么建议?
TopSpinArray<Integer> al = new TopSpinArray<Integer>(numTokens, spinSize);
//fills ArrayList with tokens
for(int i = 1; i <= numTokens; i++) {
al.add(i);
}
Run Code Online (Sandbox Code Playgroud)
您可以使用以下代码.
Run Code Online (Sandbox Code Playgroud)public static void shuffleList(List<Integer> a) { int n = a.size(); Random random = new Random(); random.nextInt(); for (int i = 0; i < n; i++) { int change = i + random.nextInt(n - i); swap(a, i, change); } } private static void swap(List<Integer> a, int i, int change) { int helper = a.get(i); a.set(i, a.get(change)); a.set(change, helper); }
请注意,这已从以下链接复制
http://www.vogella.com/articles/JavaAlgorithmsShuffle/article.html
希望能帮助到你
| 归档时间: |
|
| 查看次数: |
5036 次 |
| 最近记录: |