美文网首页iOS开发
iOS 随机打乱一个数组的顺序 获得一个新的数组

iOS 随机打乱一个数组的顺序 获得一个新的数组

作者: 精神薇 | 来源:发表于2019-07-10 10:29 被阅读0次

    第一种,算法计算

    -(NSMutableArray*)getRandomArrFrome:(NSArray*)arr
    {
        NSMutableArray *newArr = [NSMutableArray new];
        while (newArr.count != arr.count) {
            //生成随机数
            int x =arc4random() % arr.count;
            id obj = arr[x];
            if (![newArr containsObject:obj]) {
                [newArr addObject:obj];
            }
        }
        return newArr;
    }
    

    第二种,苹果官方算法

    NSArray* arr = @[@"1",@"2",@"3"];
        arr = [arr sortedArrayUsingComparator:^NSComparisonResult(NSString *str1, NSString *str2) {
            int seed = arc4random_uniform(2);
            if (seed) {
                return [str1 compare:str2];
            } else {
                return [str2 compare:str1];
            }
        }];
    

    相关文章

      网友评论

        本文标题:iOS 随机打乱一个数组的顺序 获得一个新的数组

        本文链接:https://www.haomeiwen.com/subject/vusckctx.html