本帖最后由 523066680 于 2017-9-13 09:40 编辑
随机不重复,蜜汁语法糖 (Perl)- my @array = (1 .. 20);
- my @new_array = map { splice( @array, int(rand($#array+1)), 1 ) } ( 0 .. $#array );
复制代码 翻了以前写的 VBS,还真有,2012年。改自某种排序算法:- dim array(20)
- dim last, idx, rand_num, str
-
- last = ubound(array) - 1
-
- for idx = 0 to last
- array(idx) = idx + 1
- next
-
- randomize()
-
- for idx = last to 0 step -1
- rand_num = int( idx * rnd )
- str = str & array( rand_num ) & " "
- array(rand_num) = array( idx )
- next
-
- msgbox str
复制代码 9 7 17 19 1 16 20 14 8 2 5 3 4 13 10 12 11 6 15 18 |