我需要随机化一个NSArray,我已经加载了测验问题,但我需要按照特定顺序保留这些元素。randomize NSArray
0
A
回答
0
NSArray是一个不可变的对象,这意味着你不能改变元素的顺序。我想我得到了你所得到的。只需在数据结构的顶部写一些功能来随机选择这个数组的元素。您需要跟踪已经访问了哪些元素,以免重新选择它们。
您也可以使用子类型NSMutableArray复制数组。一旦选择了一个问题,将它从这个数组中删除(你可以这样做,因为数组现在是可变的)
对随机数使用C函数。参见rand()和srand()
0
如果我正确地理解了这个问题:你有一组问题,你想显示一个子集(大概固定的大小?),但子集需要保存如原始数组中的顺序?
假设你有N个问题,并且想随机选择其中的M个问题。您可以创建一个存储索引到原始数组的元素数组[0 ..(N-1)]。然后,您可以使用Knuth/Fisher-Yate's algorithm对这个数组进行混洗,对最初的M个元素进行排序,然后使用这些前M个索引对原始数组进行查找。
相关问题
- 1. Randomize StringList
- 2. c#Randomize DataTable rows
- 3. Randomize Next Page
- 4. Randomize function repetative/predicable
- 5. JS randomize lineTo
- 6. Randomize float css
- 7. PHP“randomize”rand()函数?
- 8. randomize span4 in twitter bootstrap2
- 9. c#randomize列表<action>
- 10. Cassandra选择* randomize start node吗?
- 11. 在VB.NET中的Rnd()之前使用Randomize()
- 12. 如何在verilog中实现randomize()?
- 13. Randomize div与PHP回声在他们
- 14. Randomize函数有什么作用域?
- 15. Visual Basic(.NET)> randomize listbox picks(unique)
- 16. NSArray的多维NSArray?
- 17. 核心数据的NSArray NSArray
- 18. NSArray,UITableView
- 19. NSArray - objectAtIndex:
- 20. NSArray sortedArrayUsingSelector
- 21. 的NSArray
- 22. NSArray SIGABRT
- 23. 从NSArray获取单个属性的NSArray
- 24. 的NSArray NSArray的中字符串ADDOBJECT
- 25. 从NSArray传递Objective-C对象到NSArray
- 26. JSON NSDictionary到NSArray给我空NSArray? :(
- 27. Simple NSArray - 将对象置于前面NSArray
- 28. 排序NSArray的字典的NSArray
- 29. 复制NSArray的一个空的NSArray
- 30. NSPredicate,在NSArray中搜索,内NSArray的NSDict
我建议用arc4random()代替rand()和srand()用于Objective-C – 2012-12-25 05:44:13