Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Сортируем?

22.11.17 18:06
Re: Сортируем?
 
Murr патриот
Murr
в ответ moose 22.11.17 15:05

давайте перепишем это как "а зависит от б" (прямо или косвенно).

-----

Написать то напишем, а как считать будем?

Полной выкладки все одно нет - часть рекурсивных ссылок может быть в уже скомпилированных дллках... парсить все дллки на предмет ссылок?

Или... просто не включены в солюшен т.к. он строит только какую-то часть проектов в которых какие-то локальные проблемы.


напишете метод bool dependsOn (Projtct proj), в котором выследите, существует ли цепочка от а к б.

-----

Не надо писать метод - он будет очень сложным.

В общем случае, т.е. в случае когда решение находится только перебором вариантов, метод называется альфа-поиск. Олимпиадная задачка 85/86 годов...

В частном случае, типа имеющегося, можно построить матрицу смежности - там тоже простенько выяснится что есть зависимость... при неполных данных она довольно пуста и бесполезна.

НО! Мне не надо выяснять все эти моменты - за меня большую часть работы сделала Студия - циклических ссылок в проектах нет, остальное меня мало беспокоит.

Так что все что мне нужно - просто УПОРЯДОЧИТЬ список имеющихся проектов.

Двойная сортировка дает нужный результат без всяких сложностей.



но компаре ваше - все равно чушь.

-----

Но оно - примитивно простое, понятное и работает. спок

Чтобы понять проблему - посмотри на два проекта:'GPS.Order.ColumnsDefs' и 'CareyGlass.Interfaces'

Каким у тебя будет результат их сравнения? -1, 0, +1?


Если все еще не понятно - возьми другую пару: 'GPS.Order.ColumnsDefs' и 'GPS.Order.Factory'

И что будет? -1, 0, +1?



если найдете loop, бросите прерывание

-----

Да нет там циклов - не позволяет Студия добавить в солюшен проект вызывающий циклическую зависимость.

 

Перейти на