Cách đơn giản nhất để thực hiện tìm kiếm nhị phân trên một (đã) được sắp xếp NSArray
là gì?Làm thế nào để thực hiện tìm kiếm nhị phân trên NSArray?
Một số cách tiềm năng tôi đã phát hiện cho đến nay bao gồm:
- Việc sử dụng
CFArrayBSearchValues
(nêu here) - sẽ làm việc này trên mộtNSArray
? Phương pháp
indexOfObject:inSortedRange:options:usingComparator:
củaNSArray
giả định mảng được sắp xếp và có một tham sốopts
của loạiNSBinarySearchingOptions
- điều này có nghĩa là nó thực hiện tìm kiếm nhị phân? Số docs chỉ cần nói:Trả về chỉ mục, trong phạm vi được chỉ định của đối tượng so với các phần tử trong mảng sử dụng khối NSComparator đã cho.
Viết phương thức tìm kiếm nhị phân của riêng tôi (thứ gì đó dọc theo dòng this).
tôi nên thêm rằng tôi đang lập trình cho iOS 4.3+
Cảm ơn trước.
Tại sao không sử dụng NSDictionary? objectForKey: sẽ tìm kiếm bạn. – progrmr
Vài câu hỏi về điều đó - lợi ích của từ điển trên mảng cho tìm kiếm đối tượng là gì? Ngoài ra, để sử dụng phương pháp bạn đã đề xuất, tôi không cần biết khóa của đối tượng? Lý do tôi đang tìm kiếm mảng cho đối tượng ở nơi đầu tiên là tôi không biết chỉ mục của nó - nếu tôi thay đổi sang thực hiện từ điển thì điều này có nghĩa là tôi sẽ không biết khóa. – Barjavel