牛骨文教育服务平台(让学习变的简单)
博文笔记

oc 数组随机打乱 并取前N个元素

创建时间:2016-01-04 投稿人: 浏览次数:164

在日常的开发中,有时会需要将有序的数组随机打乱并取出前N个元素,现在假设有序的数组有10000个元素,随机打乱后取出前1000个元素,代码如下:


NSMutableArray *shuffleArray = [NSMutableArrayarray];

for (int i =0; i < 10000; i++) {

    [shuffleArray addObject:[NSStringstringWithFormat:@"%d", i]];

}

for (int i =0; i < shuffleArray.count; i++) {

    int n = (arc4random() % (shuffleArray.count - i)) + i;

    [shuffleArray exchangeObjectAtIndex:iwithObjectAtIndex:n];

}

NSArray *array = [shuffleArray subarrayWithRange:NSMakeRange(0,1000)];


其中shuffleArray数组是打乱之后的数组,array数组是从打乱数组中取出的前1000个元素组成的数组.




声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。