Хорошо, поэтому я не был полностью уверен, что заголовок будет соответствовать моей проблеме, но здесь идет описание:Запретить бесконечную петлю между объектами, ссылающимися друг на друга?
У меня есть объекты, которые могут ссылаться на другие объекты, для создания выпадающих списков, где содержание/значения зависят от того, что значения выбираются в «родительских» выпадающих списках.
Мои выпадающие объекты содержат id и parentId (и другие вещи, которые здесь не актуальны).
Я хочу, чтобы запретить пользователям делать бесконечные циклы, как это:
Список 1 (В зависимости от списка 3)
List 2 (в зависимости от списка 1)
Список 3 (Зависит от списка 2)
Я пробовал написать рекурсивный метод для предотвращения этого, но я не могу понять логику.
Может ли кто-нибудь сказать мне, как бы вы гарантировали, что объект не ссылается на него самостоятельно «вниз по линии»? Или, может быть, привести пример.
Любая помощь очень ценится.
на условиях, вы упоминаете удивленными, которые будут так называемые родитель – V4Vendetta
Похоже, вам нужен топологический сортировщик. – Aphelion