एक (पहले से) क्रमबद्ध NSArray
पर बाइनरी खोज करने का सबसे आसान तरीका क्या है?एनएसएआरएआरई पर बाइनरी खोज कैसे करें?
कुछ संभावित तरीकों मैं अब तक देखा है में शामिल हैं:
- के उपयोग
CFArrayBSearchValues
(उल्लेख here) - एकNSArray
पर यह काम करेंगे? विधि
NSArray
कीindexOfObject:inSortedRange:options:usingComparator:
ग्रहण सरणी अनुसार क्रमबद्ध और प्रकारNSBinarySearchingOptions
केopts
परम लेता है - इसका मतलब यह एक द्विआधारी खोज करता है? docs सिर्फ इतना कहना:, सूचकांक किसी निर्दिष्ट सीमा के भीतर एक वस्तु का एक दिया NSComparator ब्लॉक का उपयोग सरणी में तत्वों के साथ तुलना में।
अपनी खुद की बाइनरी खोज विधि (this की तर्ज पर कुछ लिखें) लिखें।
मुझे लगता है कि मैं पहले से iOS 4.3+
धन्यवाद के लिए प्रोग्रामिंग कर रहा हूँ जोड़ना चाहिए।
इसके बजाय NSDictionary का उपयोग क्यों नहीं करें? objectForKey: आपके लिए खोज करेगा। – progrmr
उस पर प्रश्नों का युगल - ऑब्जेक्ट खोज के लिए सरणी पर एक शब्दकोश का लाभ क्या है? साथ ही, आपके द्वारा सुझाए गए विधि का उपयोग करने के लिए मुझे ऑब्जेक्ट की कुंजी जानने की आवश्यकता नहीं होगी? ऑब्जेक्ट के लिए पहली जगह में सरणी खोजने का कारण यह है कि मुझे इसकी अनुक्रमणिका नहीं पता - अगर मैं एक शब्दकोश कार्यान्वयन में बदल गया तो इसका मतलब है कि मैं कुंजी नहीं जानूंगा। – Barjavel