|
|
|
| Здравствуйте.
Подскажите. пожалуйста, голову сломал...
Есть ассоциативный массив:
537 -> 0
538 -> 537
539 -> 537
540 -> 539
541 -> 538
542 -> 541
и.т.д..
Как его сортировать таким образом, чтобы после сортировки у меня он был в таком порядке:
537 -> 0
538 -> 537
541 -> 538
542 -> 541
539 -> 537
540 -> 539
логика понятна? | |
|
|
|
|
|
|
|
для: Jaroslav
(06.10.2009 в 17:05)
| | вообще-то из Вашего описания она НЕ должна быть понятна.
Потому как никакая это не сортировка массива.
Весьма вероятно, что это обход дерева. Выполняется обычно рекурсивной функцией.
Правда, дерево представлено для этого действия не лучшим образом. Но тем не менее. | |
|
|
|
|
|
|
|
для: Trianon
(06.10.2009 в 17:45)
| | хорошо, пускай будет не сортировка...
Ну как это сделать? Как работает рекурсивная функция? | |
|
|
|
|
|
|
|
для: Jaroslav
(06.10.2009 в 19:44)
| | 1. помещает в выходную очередь ключ узла дерева которым к ней обратились.
2. Последовательно вызывает саму себя для каждого из потомков этого узла. | |
|
|
|
|
|
|
|
для: Trianon
(06.10.2009 в 20:26)
| | А пример кода сложно привести? :)
тут смысл вообще в следующем. Есть форум. На нем друг другу отвечают. Соотв. в 1-м столбце фиксируется ID новой строки, а во второй ID строки, на которую отвечают. На сайте надо выводить ответы не один под другим, а в соответствии с тем, кому ответили. Для этой цели и нужна такая сортировка таблицы. | |
|
|
|
|
|
|
|
для: Jaroslav
(06.10.2009 в 21:21)
| | вот вот.
только что массив был - теперь таблица.
Таких примеров в разделе MySQL - десяток на дюжину.
Поиск по слову tree | |
|
|
|
|
|
|
|
для: Trianon
(06.10.2009 в 21:31)
| | Пасибки!
Нашёл там что мне надо - http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=33481
Всегда с этим делом извращался по страшному. Оказывается - все намного проще!!! :)))) Побежал переделывать свои коды... | |
|
|
|