关闭

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

2770人阅读 评论(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];
        }
    }];




0
0
查看评论

iOS数组元素随机排序

//数组随机排序     NSArray *array = @[@"1",@"2",@"3",@"4",@"5"];        ...
  • sevenquan
  • sevenquan
  • 2016-01-27 14:48
  • 1011

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

一、先讲下ios三种取随机数的方法: 1.    srand((unsigned)time(0));  //不加这句每次产生的随机数不变         int ...
  • zhonggaorong
  • zhonggaorong
  • 2016-07-15 09:55
  • 2521

iOS获取不重复随机数数组

//每次点击之前,清空随机数数组,     if(self.randomArr && self.randomArr.count){         [self.randomArr removeAllObjects]; ...
  • u011146511
  • u011146511
  • 2017-05-06 13:17
  • 1141

ios 生成不重复随机数

一、先讲下ios三种取随机数的方法: 1.    srand((unsigned)time(0));  //不加这句每次产生的随机数不变         int i =...
  • jiajiayouba
  • jiajiayouba
  • 2015-02-03 15:58
  • 16929

ios打乱数组顺序

在我们做项目的时候有时候会需要一些乱序的数组,即每次显示的顺序不同,我们可以使用苹果官方的一个方法- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr NS_AVAILABLE(10_6, 4_0); 下面展示一个例子 - (vo...
  • shan1991fei
  • shan1991fei
  • 2016-02-25 23:14
  • 2107

随机打乱一个数组(输出无序数组)

随机打乱一个数组(输出无序数组)
  • Alvin_CSDN_blog
  • Alvin_CSDN_blog
  • 2017-03-15 12:39
  • 306

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

给定一个数组,要求把数组内元素的顺序随机打乱,然后输出,主要是要保证效率。 这其实是个洗牌算法,首先从所有元素中随机选取一个与第一个元素进行交换,然后在第二个之后选择一个元素与第二个交换,直到最后一个元素。这样能确保每个元素在每个位置的概率都是1/n。   #include #i...
  • cxllyg
  • cxllyg
  • 2012-09-17 09:37
  • 23525

OC中数组打乱顺序

如果数组里面的是顺序,数值字符串,打乱 //如果数组是连续的,打乱 + (NSArray *)arrayRandom:(NSArray *)array{ NSMutableArray *mutablearray = [NSMutableArray arrayWithArray:array]...
  • u011032334
  • u011032334
  • 2014-12-28 15:13
  • 1027

ios中三种随机数方法

ios 有如下三种随机数方法: //第一种 srand((unsigned)time(0)); //不加这句每次产生的随机数不变 int i = rand() % 5; //第二种 srandom(time(0)); int i = random() % 5; //第三种 int i = ar...
  • u011363981
  • u011363981
  • 2016-04-15 09:02
  • 2968

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

-(NSMutableArray*)getRandomArrFrome:(NSArray*)arr {     NSMutableArray *newArr = [NSMutableArray new];     while (newArr.count != ...
  • u013282507
  • u013282507
  • 2016-06-01 16:31
  • 2770
    个人资料
    • 访问:130969次
    • 积分:2172
    • 等级:
    • 排名:千里之外
    • 原创:93篇
    • 转载:0篇
    • 译文:0篇
    • 评论:53条
    我在这里

    GitHub


    AppStore


    微博
    博客专栏