Возврат времени, ближайшего к тем, которые хранятся в структуре данных - PullRequest
0 голосов
/ 11 марта 2012

Я сейчас создаю приложение расписания автобусов. на данный момент он получает текущую дату и время. У меня в настоящее время есть множество раз, когда автобус придет следующий. Я хочу сравнить текущее время с временем в массиве и вернуть ближайший ... представляющий следующую шину. Тем не менее, существуют разные расписания для каждой остановки, по одному для каждого направления. кроме того, они меняются почти ежедневно.

Существует ли более приятная структура данных, которую кто-либо может порекомендовать для хранения и вызова этих данных? Мой код очень грязный, поэтому хотелось бы иметь лучший способ сравнения, хранения и возврата данных, чем массивы.

Спасибо.

1 Ответ

1 голос
/ 11 марта 2012

Я бы рекомендовал использовать структура данных кучи (min-heap). Каждый раз, когда самый верхний элемент будет представлять ближайшее событие, вы можете удалить его, воздействовать на него (вычисляя время следующего события), а затем вставить его снова. это просто и быстро.

...