【Objective-C】配列(NSArray、NSMutableArray)の要素(値)をランダムに並べ替える方法
2011-12-17 (土) 01:10 Objective-C
今回は配列(NSArray、NSMutableArray)の要素(値)をランダムに並べ替える方法についてです。
いろいろな方法がありますが「Fisher-Yatesアルゴリズム」を使った方法を紹介します。
参考にさせていただいたページは以下です。どうもありがとうございました。
→Fisher-Yatesアルゴリズムの可視化
<例 array1の値をランダムに並べ替える場合>
for (int i=[array1 count]-1; i>=0; i--) {
int j = rand() % (i+1);
[array1 exchangeObjectAtIndex:i withObjectAtIndex:j];
}
Objective-CではexchangeObjectAtIndexが用意されているので同じ配列内で簡単に要素(値)を交換できるので楽ですね。
↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
- 関連記事
-
- 【Objective-C】文字列(NSString)の先頭、末尾の確認方法(~で始まる、~で終わる) (2011/12/17)
- 【Objective-C】文字列(NSString)の大文字と小文字を区別せずに比較する方法 (2011/12/17)
- 【Objective-C】配列(NSArray、NSMutableArray)の要素(値)をランダムに並べ替える方法 (2011/12/17)
- 【Objective-C】配列(NSArray、NSMutableArray)の要素(値)を逆順に取得する方法 (2011/12/16)
- 【Objective-C】アラート(UIAlertView)でボタンを押すまで次の処理を待つ方法 (2011/12/16)