oc 数组随机打乱 并取前N个元素
在日常的开发中,有时会需要将有序的数组随机打乱并取出前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个元素组成的数组.
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 动态数组使用堆,内存大小,静态数组使用栈,最大2M
- 下一篇: java 大数据处理之内存溢出解决办法