// 方法一 标准算法 效率最高 每次产生一个数据把它依次置换到后面
NSMutableArray *number = [NSMutableArray array];
for (int i = 0; i<20; i++) {
[number addObject:[NSNumber numberWithInteger:i+1]];
}
for (int j = 0; j<20; j++) {
NSInteger arc = arc4random()%(20-j);
[number exchangeObjectAtIndex:arc withObjectAtIndex:20-j-1];
}
NSLog(@"%@",number);
for (int k = 0; k<10; k++) {
[number exchangeObjectAtIndex:20-1-k withObjectAtIndex:k];
}
NSLog(@"%@",number);
// 方法二:首先对需要产生的随机数用动态数组进行保存
NSMutableArray *number = [NSMutableArray array];
for (int i = 0; i<20; i++) {
[number addObject:[NSNumber numberWithInteger:i+1]];
}
同时生成一个产生出随机数的动态数组 产生一个额额有效的加添一个 在把产生的那个数删掉(通过数