
27.11.2012, 02:34
|
|
Регистрация: Feb 2011
Сообщений: 431
|
А не лучше сортировку делать на сервере, и возвращать результат флешу?
Прикрутим к каждому элементу, скажем, параметр parent. Также должна быть связь married (по идее).
Далее ищем у кого сколько парентов - рекурсивно идём вверх пока не допрём до элемента без парентов. По ходу сортировки записываем кол-во парентов в вычисленные элементы - чтобы если они в свою очередь также окажутся парентами, сразу задать их детям уровень парента+1 и оборвать итерацию цикла.
Если по ходу сортировки у элемента появляется второй парент того же уровня, не учитываем этого парента, т.к. это продукт брака (связь пара(мама+папа) - ребёнок).
Далее ходим от уровня к уровню и вычисляем кто на ком женат.
Могут быть случаи что кто-то не женат ни на ком со своего уровня (как Саша Попо... на скринах - нет парента, но не на первом уровне), опускаем его и его чайлдов до следующего уровня, пока не вычислим с кем индивидуум состоит в браке.
По ходу сортировки мы пометили кто является продуктом брака ( 2 парента того же уровня ) и задаём соответствующие связи.
Последний раз редактировалось AlexLucas; 27.11.2012 в 02:46.
|