iOS开发- 快速将数组 分成若干个小组

2018-10-20  本文已影响12人  CocoaJason
 //创建大数组
    NSMutableArray *allNumberAry = [NSMutableArray arrayWithCapacity:1000];
    for (NSInteger idx = 0; idx < 39482; idx ++)
    {
        [allNumberAry addObject:[NSNumber numberWithInteger:idx]];
    }
    
    
    if (allNumberAry.count > 0)
    {
        //每组最大数量
        NSInteger oneGroupCount = 100;
        //组数
        NSInteger groupCount = (allNumberAry.count - 1) / oneGroupCount + 1;
        //前面每组达到最大数量之后,剩余不足最大数量的元素个数
        NSInteger surplusCount = allNumberAry.count % oneGroupCount;
        
        
        for (NSInteger group = 0; group < groupCount; group ++)
        {
            //先假设每组都可以放最大元素数量
            NSRange range = NSMakeRange(group * oneGroupCount, oneGroupCount - 1);
            //假如剩余个数大于0,则需要添加一组盛放剩下的元素
            if (surplusCount > 0 &&
                group == groupCount - 1)
            {
                //将范围修改
                range = NSMakeRange(group * oneGroupCount, surplusCount);
            }
            
            NSArray *subAry = [allNumberAry subarrayWithRange:range];
            NSLog(@"%ld",subAry.count);
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读