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

原创 2016年06月01日 16:31:20

第一种方法:笨方法

-(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打乱数组顺序

在我们做项目的时候有时候会需要一些乱序的数组,即每次显示的顺序不同,我们可以使用苹果官方的一个方法- (NSArray *)sortedArrayUsingComparator:(NSComparat...

iOS数组元素随机排序

//数组随机排序     NSArray *array = @[@"1",@"2",@"3",@"4",@"5"];         NSMutableArray *nutableArra...

iOS开发之把数组中的元素进行随机排序、随机数产生的几种方法

一、先讲下ios三种取随机数的方法: 1.    srand((unsigned)time(0));  //不加这句每次产生的随机数不变         int i = rand() % 5;...

iOS获取不重复随机数数组

//每次点击之前,清空随机数数组,     if(self.randomArr && self.randomArr.count){         [self.randomArr removeAl...

洗牌算法:随机打乱一个数组的顺序

原文转自:http://blog.csdn.net/cxllyg/article/details/7986352 给定一个数组,要求把数组内元素的顺序随机打乱,然后输出,主要是要保证效率。 这其实...

数组随机打乱顺序方法

  • 2011年04月25日 22:10
  • 542B
  • 下载

给定一个字符数组,存储有R、G、B字符,将所有字符按照RGB顺序排序

这个题目隐约是在某个博客上看到过,后来书签掉了,一直找不到原文,所以只好自己写了一个解法,但愿没有出错。 题目描述 已知一个字符数组,其中存储有R、G、B字符,要求将所有的字符按照RGB的顺序进行...

C语言用数组1. 简单约瑟夫环问题: N个人,编号从1~N围成一圈,输入一个数T,从1号开始报数,报到T的人出圈;下一人又从1开始报数,下一个报到T的人出圈,输出出圈顺序。 考虑问实现约瑟夫环问题

1. 简单约瑟夫环问题: N个人,编号从1~N围成一圈,输入一个数T,从1号开始报数,报到T的人出圈;下一人又从1开始报数,下一个报到T的人出圈,输出出圈顺序。 考虑问题: 报到T的...
  • xs1997
  • xs1997
  • 2016年12月26日 18:50
  • 1536

循环实现从一个数组中按顺序任意截取几个字符。

百度有人提出一个问题 在一个数组中任意提取几个元素组成一个新数组。用循环游标数组的方式实现了一下。public class TestArray { public static void main(S...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS 随机打乱一个数组的顺序 获得一个新的数组
举报原因:
原因补充:

(最多只允许输入30个字)