発言者: 飯島 徹
発言日: 2008 06/03 00:54
発言元: flh1adm062.hkd.mesh.ad.jp
みなさん,こん○○は^^飯島です
それでは私はPerlを使った並べ替えを^^
以下のshuffle.plをc:\Perl\site\libフォルダなどに置いておきます.
#---------- shuffle.pl ----------------------
#!Perl -w
use strict;
sub ShuffleArray () {
my $array = shift;
my $len = scalar(@$array);
for(my $i=$len-1 ; $i>=0; --$i){
my $j = int( rand($i+1) );
next if($i==$j);
@$array[$i, $j] = @$array[$j, $i];
}
}
sub Shuffle () {
my @array = @_;
&ShuffleArray(\@array);
my $result = "";
foreach (@array) {
if ( $result eq "" ) {
$result = $_;
} else {
$result = $result . "," . $_;
}
}
$result;
}
1;
#----------------------------------------------
以下のtemp.texをコンパイルするとコンパイルのたびに
0〜9の数字が入れ替わると思います^^
%-------------- temp.tex ----------------------
\documentclass{jarticle}
\usepackage[perl]{emathRn}
%\usepackage{emathPp}
\myPerlLib{shuffle.pl}%
\begin{document}
\calcval[s]{Shuffle(0,1,2,3,4,5,6,7,8,9)}\temp
\temp
\end{document}
%-----------------------------------------------
▼関連発言
│
└◆7301:ランダムな順列の作り方 [st] 06/02 21:55
└◆7302:Re:ランダムな順列の作り方 [田中徹] 06/03 00:43
└◆7303:Re[2]:ランダムな順列の作り方 [飯島 徹] 06/03 00:54
└◆7304:Re[3]:ランダムな順列の作り方 [田中徹] 06/03 01:09
└◆7305:Re[4]:ランダムな順列の作り方 [飯島 徹] 06/03 01:23
└◆7306:Re[5]:ランダムな順列の作り方 [飯島 徹] 06/03 01:55
└◆7308:Re[6]:ランダムな順列の作り方 [st] 06/03 11:46
├◆7316:Re[7]:ランダムな順列の作り方 [田中徹] 06/03 23:15
│└◆7317:Re[8]:ランダムな順列の作り方 [飯島 徹] 06/04 03:51
│ └◆7318:Re[9]:ランダムな順列の作り方 [st] 06/04 23:24
│ └◆7319:Re[10]:ランダムな順列の作り方 [飯島 徹] 06/05 01:41
│ └◆7320:Re[11]:ランダムな順列の作り方 [st] 06/05 05:09
└◆7321:Re[7]:ランダムな順列の作り方 [石原 守] 06/05 10:14
└◆7323:Re[8]:ランダムな順列の作り方 [st] 06/05 21:47<-last