Какова лучшая структура данных для хранения информации о местоположении? - PullRequest
1 голос
/ 28 июня 2011

Я создаю простое приложение, которое все, что делает, хранит «местоположение» из CLLocation каждый раз.Я очень плохо знаком с задачей C и просто хотел знать, какая структура будет идеальной для этой цели.

Спасибо!

Ответы [ 3 ]

1 голос
/ 28 июня 2011

Это зависит от того, что вы должны делать с этим:

  • если вы хотите, чтобы они были упорядочены (например, по метке времени), массив хорош
  • если вам нужно получить их с помощью своего рода ключа, словарь подойдет
  • если вам нужно только собрать их, набор лучше (подумайте о NSSet)

Имейте в виду, что NSArray, NSDictionary и NSSet хранят только объекты.

1 голос
/ 28 июня 2011

Конечно, для 2D координат CLLocationCoordinate2D, или если вы хотите высоту, вы также можете использовать это:

typedef struct {
  CLLocationCoordinate2D ground,
  double altitude;
} CLLocationCoordinate2DWithAltitude;
0 голосов
/ 28 июня 2011

Есть ли смысл иметь эти места?Собираетесь ли вы реализовать какой-либо конкретный алгоритм с ними?

Если бы все, что я делал, это сохраняло произвольные местоположения, я, вероятно, обернул бы их объектом "location", а затем сохранил бы объект location в связанном спискеили массив.

Если вы собираетесь попытаться разрешить местоположения в логические адреса, то вы можете сохранить их в матрице или списке смежности (двумерный массив), чтобы вы могли выполнять над ними графические операции (такие как алгоритмы кратчайшего пути).

Реализация связанного списка может быть найдена здесь: http://www.cocoadev.com/index.pl?LinkedList

Это не массив, это более продвинутая структура данных.Он очень часто используется, потому что нет ограничений на размер структуры данных.

...