Как сгенерировать неповторяющееся случайное число
Я пытаюсь рандомизировать числа в массиве. Я могу сделать это с помощьюarc4random() % [indexes count]
Моя проблема - если массив состоит из 20 элементов, каждый раз, когда массив перемешивается, в пакете из 5 должно появляться другое число. Пример :
первая случайная последовательность: 1,4,2,5,6.
второй тасовкой: 7,12,9,15,3
-(IBAction)randomNumbers:(UIButton *)sender
{
int length = 10; // int length = [yourArray count];
NSMutableArray *indexes = [[NSMutableArray alloc] initWithCapacity:length];
for (int i=0; i<5; i++)
[indexes addObject:[NSNumber numberWithInt:i]];
NSMutableArray *shuffle = [[NSMutableArray alloc] initWithCapacity:length];
while ([indexes count])
{
int index = arc4random() % [indexes count];
[shuffle addObject:[indexes objectAtIndex:index]];
[indexes removeObjectAtIndex:index];
}
// for (int i=0; i<[shuffle count]; i++)
NSLog(@"%@", [shuffle description]);
}