Если у вас есть экземпляры CLLocation, вы можете получить их относительное расстояние с помощью:
- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location
Теперь вы пишете:
Мой алгоритм отстой - какие-нибудь идеи?
Ну, какой у вас алгоритм? Почему это сосать? Любой код, который у вас есть?
С точки зрения высокого уровня, я хотел бы сделать это следующим образом:
- вычислить distace для каждого аэропорта координату из curent расстояния в O (N), где п число координат
- сортировать элементы, использующие какой-то стабильный алгоритм, такой как QuickSort (... NSArray должен работать нормально ...), который берет вас O (n * log n) или заставляет его работать, чтобы вы могли использовать сортировку radix, которая работает в O (n)
Есть ли причина, по которой это не сработает? :)