2014-10-27 5 views
0

У меня есть список сегментов линии на плоскости (это класс с двумя экземплярами для начальной и конечной вершины). В моем коде я обнаруживаю, какие сегменты пересекаются с ранее вставленной линией, и все эти сегменты затем вставляются в список.Сортировка списка по сравнению с предыдущим itens

Класс сегмента также имеет функцию, которая может возвращать число, основанное на его позиции, по сравнению с другим сегментом (само значение не имеет значения, только знак), который говорит мне, если этот сегмент сравнивается слева или справа от другого сегмента.

Я хотел бы узнать, можно ли отсортировать список, используя такую ​​функцию сравнения, поскольку до сих пор мне удалось найти только сортировку на основе функций, возвращающих «значащие» числа (например, , x меньше y, так x приходит первым)

Проще говоря, у меня есть некоторые сегменты линий в списке, и я хотел бы, чтобы отсортировать их с помощью функции, которая только говорит мне, если определенный сегмент, скажем, , S1 находится справа или слева от другого сегмента S2 и ничего больше.

+0

Как вы вроде '[S1, S2, S3]' список, если 'S1' не может быть по сравнению с' S3'? – jfs

+0

Это не то, что его нельзя сравнивать, но сравнение, которое я пытаюсь сделать, только посмотрит на соседей, чтобы дать результат. Наверное, это похоже на Bubble. Например, думая как числа, я мог бы узнать, больше ли элемент, чем его соседи, но не насколько он больше. – htcoelho

+0

s3 не является соседним s1, то есть они не сопоставимы. – jfs

ответ

Смежные вопросы