уведомление : красная линия перекрывается с синей линией (это прямая линия в противоположном направлении), показанной в виде кривой для иллюстрации
x1, y1 и т. Д. Являются парами (начало, конец) широты и долготы.
light blue segment(x1, y1 -> x2,y1)
dark blue segment(x2, y1 -> x3, y3)
red segment (x3, y3 -> x2, y4)
рассмотрим массив ниже, который находится в случайном порядке, из которого взят вышеупомянутый сегмент карты.
var arr = [
(x3, y3 -> x2, y4),
(x1, y1 -> x2,y1),
(x2, y1 -> x3, y3)
];
При построении массива его построение выполняется в правильном порядке.
Я хочу отсортировать массив в правильном порядке от начала до конца по маркерам маршрута.
Я мог бы взять один старт, пару пара затем снова выполните поиск по всему массиву, чтобы найти входящую и исходящую пару, но это неэффективно.
Какой самый эффективный способ сортировки массива, учитывая, что некоторые сегменты могут идти в противоположном направлении.