Как выполнить бинарный поиск в NSArray?

Каков самый простой способ выполнить бинарный поиск в (уже) отсортированном NSArray] ?

Некоторые потенциальные способы, которые я заметил до сих пор, включают:

  1. Использование CFArrayBSearchValues(упоминается здесь) — будет ли это работать на NSArray?
  2. Метод indexOfObject:inSortedRange:options:usingComparator:из NSArrayпредполагает, что массив отсортирован, и принимает параметр optsтипа NSBinarySearchingOptions— означает ли это, что он выполняет бинарный поиск? Документы просто говорят:

    Возвращает индекс в пределах указанного диапазона объекта по сравнению с элементами в массиве с использованием данного блока NSComparator.

  3. Напишите свой собственный метод бинарного поиска (что-то вроде this).

Должен добавить, что я программирую для iOS 4.3+

Заранее спасибо.

16
задан pasawaya 26 June 2012 в 03:31
поделиться