objective c - How to randomize an NSArray? -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 12 उत्तरों
मान लें कि मेरे पास एक NSArray है 50-100 वस्तुओं के भीतर मैं सरणी को यादृच्छिक क्रम में कैसे डाल सकता / सकती हूं?
ऐसा करने के कई तरीके हैं, लेकिन अधिकांश में केवल यादृच्छिक संख्या उत्पन्न करना शामिल होगा। शायद आप NSMutableArray का उपयोग करके इस तकनीक का उपयोग कर सकते हैं:
- 0 और 49 के बीच एक यादृच्छिक संख्या उत्पन्न करें (50 तत्व मानते हुए)
- तत्वों को स्वैप करें और आप जेनरेट करते हैं
- 1 और 49 के बीच एक यादृच्छिक संख्या उत्पन्न करें
- स्वैप तत्व 1 और जो भी नंबर आप उत्पन्न करते हैं
- आदि।
संभवत: सबसे कारगर तरीका है।
नमूना कोड (परीक्षण नहीं किया गया):
srandom (समय (नल)); (NSInteger x = 0; x & lt; [सरणी संख्या]; x ++) {NSInteger randInt = (यादृच्छिक (%) ((सरणी गणना) - x)) + x; [सरणी एक्सचेंज ऑब्जेक्टआटइंडएक्स: एक्स के साथ ऑब्जेक्टऐटइंडएक्स: रैंडआईएन्ट]; }
इसके अलावा, आप दो NSMutableArray ऑब्जेक्ट्स का उपयोग कर सकते हैं, और पहले की ऑब्जेक्ट के दौरान केवल लूप का उपयोग कर सकते हैं, एक बेतरतीब ढंग से चुन सकते हैं, और इसे दूसरे एक के अंत में जोड़ सकते हैं। संभवतः उपरोक्त विधि शायद तेज है।
Comments
Post a Comment