| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Проверить структуру на цикл |
| Автор: xTr1m 14.11.2012, 19:07 | ||
Доброго времени суток. Есть класс:
|
| Автор: feodorv 14.11.2012, 20:14 |
| Я бы сделал простой список указателей всех объектов, в начале пустой, возможно, с сортировкой по значению указателя (для быстрого поиска). Затем обошёл бы всё дерево, от корня, добавляя в список указатель на очередную структуру. Вот если этот указатель уже находится в списке, то имеем цикл. |
| Автор: xTr1m 15.11.2012, 13:52 |
| Тут забыл конечно уточнить, что один и тот же элемент может встречаться в разных ветках дерева. Но примерно так и сделал. То есть обошел каждую ветку вглубь, запоминая какие элементы уже встречались. И если дубль, то да - цикл. Спасибо. |