Показать сообщение отдельно
Старый 27.11.2012, 02:34
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 2  
Ответить с цитированием
AlexLucas
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
А не лучше сортировку делать на сервере, и возвращать результат флешу?

Прикрутим к каждому элементу, скажем, параметр parent. Также должна быть связь married (по идее).
Далее ищем у кого сколько парентов - рекурсивно идём вверх пока не допрём до элемента без парентов. По ходу сортировки записываем кол-во парентов в вычисленные элементы - чтобы если они в свою очередь также окажутся парентами, сразу задать их детям уровень парента+1 и оборвать итерацию цикла.
Если по ходу сортировки у элемента появляется второй парент того же уровня, не учитываем этого парента, т.к. это продукт брака (связь пара(мама+папа) - ребёнок).

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

По ходу сортировки мы пометили кто является продуктом брака ( 2 парента того же уровня ) и задаём соответствующие связи.


Последний раз редактировалось AlexLucas; 27.11.2012 в 02:46.