[#40891] 配列をシャッフル — Hideo Konami <konami@...>

小波です。

25 messages 2005/07/01
[#40899] Re: 配列をシャッフル — ktokita <ktokita-p@...> 2005/07/01

時田です

[ruby-list:40891] 配列をシャッフル

From: Hideo Konami <konami@...>
Date: 2005-07-01 06:59:56 UTC
List: ruby-list #40891
小波です。

統計の無作為非復元抽出のシミュレーションのために,配列をシャッフル
する方法を考えていて,次のような処理を思いつきました。これまで
どんくさいやり方をしていたのに比べると(自分では)うまい方法だと
思ったのですが,もっとうまいやり方はないものでしょうか。お付き合い
くださる方がおられましたら,よろしくお願いします。


#!/usr/local/bin/ruby
def shuffle(array)
  s = []
  while array.size > 0
  p = rand(array.size)
    s << array[p]
    array.delete_at(p)
  end
  return s
end

a = ["A","Q","K","J"]
p shuffle(a)

In This Thread

Prev Next