iosのアルゴリズム-ランダムな数百パーセントに対して有効な重複しない処理方法を生成する
1236 ワード
//
NSMutableArray *number = [NSMutableArray array];
for (int i = 0; i<20; i++) {
[number addObject:[NSNumber numberWithInteger:i+1]];
}
for (int j = 0; j<20; j++) {
NSInteger arc = arc4random()%(20-j);
[number exchangeObjectAtIndex:arc withObjectAtIndex:20-j-1];
}
NSLog(@"%@",number);
for (int k = 0; k<10; k++) {
[number exchangeObjectAtIndex:20-1-k withObjectAtIndex:k];
}
NSLog(@"%@",number);
// :
NSMutableArray *number = [NSMutableArray array];
for (int i = 0; i<20; i++) {
[number addObject:[NSNumber numberWithInteger:i+1]];
}
( , , , )
NSMutableArray *num = [NSMutableArray array];
for (int j = 0; j<20; j++) {
NSInteger arc = arc4random()%number.count;
[num addObject:[number objectAtIndex:arc]];//
[number removeObjectAtIndex:arc];//
}
NSLog(@"%@",num);