Я пытаюсь создать древовидный из путей к файлам, которые могут быть добавлены и удалены динамически, например:Построить дерево из путей к файлам
A/B/C/D/file1.txt
A/B/D/E/file2.txt
A/B/D/G/file3.txt
A/B/D/G/file4.txt
Моего дерева, однако, имеет требование, что пути без каких-либо дочерних элементов (файлов) должны быть свернуты в одном узле. Для путей, указанных выше, это даст:
A/B
|---C/D
file1.txt
|---D
|---E
| file2.txt
|---G
file3.txt
file4.txt
Любые мысли? Создание дерева легко, но я не могу преодолеть это дополнительное условие ... Предполагаю, что мне придется использовать какую-то рекурсию, когда я буду добавлять элементы и нарушать пути, поскольку мы обнаруживаем, что определенный путь имеет больше детей (а затем сделать то же самое рекурсивно?). Должен ли я использовать какую-то трю? Будет ли это работать, когда один и тот же путь может иметь несколько файлов? ... Спасибо!
Я думаю, что вы должны построить дерево как обычно, и пусть ваш пользовательский интерфейс справится с дополнительным условием, может быть проще разбить эти требования;) – Icepickle
Я не могу, к сожалению. –