Randperm在iOS中

时间:2014-12-13 07:29:54

标签: ios

我知道在Matlab中,有一个叫做randperm的函数,它基本上会返回数字的随机排列。

例如,randperm(6)返回[3 2 6 4 1 5]。

iOS中有类似内容吗?

1 个答案:

答案 0 :(得分:1)

这样做:

- (NSArray*) randperm: (int) total
{
   NSMutableArray *array = [[NSMutableArray alloc] init];
    int counter = 0;
    while (counter < total) {
        NSNumber *randomInteger = [NSNumber numberWithInt:(arc4random_uniform(total)+1)];
        if (![array containsObject:randomInteger]) {
            [array addObject:(randomInteger)];
            counter++;
        }

    }
   return array;
}