読者です 読者をやめる 読者になる 読者になる

Perl日記

PerlとかRubyとかPHPとかPythonとか

配列内要素のシャッフルを考える【図】


【元の配列】

添字0123456789
配列12345678910

【1巡目】
添字0123456789
配列12345678910
${$a[$n]}3
${$a[$i]}10
代入後配列121045678910

→3
【2巡目】
添字0123456789
配列121045678910
${$a[$n]}6
${$a[$i]}9
代入後配列121045978910

→3, 6
【3巡目】
添字0123456789
配列121045978910
${$a[$n]}5
${$a[$i]}8
代入後配列121048978910

→3, 6, 5
【4巡目】
添字0123456789
配列121048978910
${$a[$n]}2
${$a[$i]}7
代入後配列171048978910

→3, 6, 5, 2
【5巡目】
添字0123456789
配列171048978910
${$a[$n]}9
${$a[$i]}9
代入後配列171048978910

→3, 6, 5, 2, 9
【6巡目】
添字0123456789
配列171048978910
${$a[$n]}1
${$a[$i]}8
代入後配列871048978910

→3, 6, 5, 2, 9, 1
【7巡目】
添字0123456789
配列871048978910
${$a[$n]}8
${$a[$i]}4
代入後配列471048978910

→3, 6, 5, 2, 9, 1, 8
【8巡目】
添字0123456789
配列471048978910
${$a[$n]}4
${$a[$i]}10
代入後配列1071048978910

→3, 6, 5, 2, 9, 1, 8, 4
【9巡目】
添字0123456789
配列1071048978910
${$a[$n]}7
${$a[$i]}7
代入後配列1071048978910

→3, 6, 5, 2, 9, 1, 8, 4, 7
【10巡目】
添字0123456789
配列1071048978910
${$a[$n]}10
${$a[$i]}10
代入後配列1071048978910

→3, 6, 5, 2, 9, 1, 8, 4, 7, 10