Я пытаюсь заполнить список версий файлов в виде дерева. У меня есть список файлов ревизий, как показано ниже.
1.17
1.17.1.1
1.17.1.2
1.17.1.2.1.1
1.17.1.2.1.2
1.17.1.2.1.2.1.1
1.17.1.2.1.2.1.2
1.17.1.2.1.2.1.3
1.17.1.2.1.2.1.3.1.1
1.17.1.2.1.2.1.3.1.2
1.17.1.2.1.2.1.3.2.1
1.17.1.2.1.2.1.4
1.17.1.2.1.2.1.5
1.17.1.2.1.2.1.5.1.1
1.17.1.2.1.2.1.5.1.2
1.17.1.2.1.2.1.5.1.2.1.1
1.17.1.2.1.3
1.17.1.2.1.4
1.18
1.19
Теперь я хотел бы заполнить его как
1.17
1.17.1.1
1.17.1.2
1.17.1.2.1.1
1.17.1.2.1.2
1.17.1.2.1.2.1.1
1.17.1.2.1.2.1.2
1.17.1.2.1.2.1.3
1.17.1.2.1.2.1.3.1.1
1.17.1.2.1.2.1.3.1.2
1.17.1.2.1.2.1.3.2.1
1.17.1.2.1.2.1.4
1.17.1.2.1.2.1.5
1.17.1.2.1.2.1.5.1.1
1.17.1.2.1.2.1.5.1.2
1.17.1.2.1.2.1.5.1.2.1.1
1.17.1.2.1.3
1.17.1.2.1.4
1.18
1.19
Моя идея классифицируется по уровню
1.17 -> level 1
1.17.1.1 -> level 2
1.17.1.2 -> level 2
1.17.1.2.1.1 -> level 3
...
Затем я использую регистр переключателя, чтобы заполнить его древовидной структурой
if level = 1 then parent node
else if level = 2 then child node
else if level = 3 then grandchild node
...
Однако я не знаю, является ли это правильным способом достижения моей цели. Есть ли лучший способ сделать это?
Любая помощь, спасибо и большое спасибо