Цитата:
Sheryld:
по left у меня и так выводится. но если отстортировать все после по desc, то нарушается структура. пока что решения не придумал
все что у меня получилось это отсортировать ноды на каждом уровне, но собрать их снова в дерево не получается.
|
ты должен изменять left и right при сортировке. То есть дерево сортируется сразу. когда ты это будешь делать - при вставке или потом отдельным методом дело десятое. главное правило в этом случае -- любая сортиврока основана на том, что нужно менять left и right поля узла.
Понятно что это довольно утомительный процесс.. хотя после некоторых размышлений, можно увидеть, что достаточно будет N запросов при сортировке. можно конечно один с кучей if-ов, но на мой взгляд это будет медленней.
Теперь второй момент. кто тебе мешает при выводе дерева пересортировать его как тебе нужно? тогда не нужно будет никаких доп. запросов. но в этом случае пропадает т.н. обобщенность, то есть нужно будет писать кучу классов-сортировщиков (для каждой отдельной сортировки)... но не будет большого количества запросов.