Warning: session_start(): open(/var/lib/php/sessions/sess_8rhfrpkqn701575fisv6h2clpi, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
p-exp {
pnl(iteratorToList(shuffledIterator(words("This is a very good test"))));
}
static Iterator shuffledIterator(final List l) {
return new Iterator() {
Random randomizer = new Random();
int n = l.size();
int i = 0;
Map shuffled = new HashMap();
public boolean hasNext() { ret i < n; }
public A next() {
int j = i+randomizer.nextInt(n-i);
A a = get(i), b = get(j);
shuffled.put(j, a);
shuffled.remove(i);
++i;
return b;
}
A get(int i) {
return shuffled.containsKey(i) ? shuffled.get(i) : l.get(i);
}
};
}