1 package civitas.crypto.algorithms;
2
3 import java.util.LinkedList;
4 import java.util.List;
5
6 import org.springframework.beans.factory.annotation.Autowired;
7 import org.springframework.stereotype.Controller;
8
9 @Controller
10 public class CreatePermutation {
11
12 @Autowired
13 GenerateRandomInt generateRandomInt;
14
15 public int[] apply(final int size) {
16 List<Integer> l = new LinkedList<>();
17 for (int i = 0; i < size; i++) {
18 l.add(i);
19 }
20
21
22 int[] perm = new int[size];
23 for (int i = 0; i < size; i++) {
24 int j = generateRandomInt.apply(l.size());
25 perm[i] = l.remove(j);
26 }
27
28 return perm;
29 }
30 }