From b77d8d026a8fcc90716481097fb8e267a99bea78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Sat, 28 Feb 1998 19:13:03 +0100 Subject: [PATCH] Added shuffle(). Rev: lib/modules/Array.pmod:1.16 --- lib/modules/Array.pmod | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/modules/Array.pmod b/lib/modules/Array.pmod index 381d3b96f9..37248e3bd9 100644 --- a/lib/modules/Array.pmod +++ b/lib/modules/Array.pmod @@ -59,6 +59,21 @@ mixed filter(mixed arr, mixed fun, mixed ... args) } } +array shuffle(array arr) +{ + int i = sizeof(arr); + + while(i) { + int j = random(i--); + if (j != i) { + mixed tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; + } + } + return(arr); +} + int search_array(mixed *arr, mixed fun, mixed ... args) { -- GitLab