У меня есть список, содержащий экранные объекты из всего приложения (порядок вставки).
Я хочу обработать список сверху вниз (родительский, дочерний) или снизу вверх (дочерний, родительский).Единственное требование заключается в том, что родитель обрабатывается либо перед любым потомком, либо наоборот перед потомком.
Что такое хороший подход?
Редактировать: Этот вопрос не о сортировке списка,Речь идет о оперативном получении глубины определенного экранного объекта.
Edit2: Пример
Список отображения:
A (root)
B1
C1
C2
D1
B2
C3
D2
D3
C4
D4
B3
C5
D5
B4
C6
B5
Мой список:
list = [E1, F4, A, B2, B1, C3, ..., N9, N8]
Вверху:
N9, N8, F4, E1, C3, B2, B1, A
Сверху вниз:
A, B2, B1, C3, E1, F4, N9, N8
Примечание:
Не имеет значения, N9 до N8 или N8 до N9.Важно то, что любое N перед M (первый запуск) или любое M перед его дочерними N * (второй запуск).