4. Итераторы
Реализуйте односвязный список любым простым способом.
Реализуйте возможность создавать списки с циклами, например:
digraph G { bgcolor = "#ffffff00"; rankdir=LR; node[ shape=circle width=0.6 fontsize=11 fontname=Arial fixedsize=true style=filled fillcolor="#ffffff" ]; edge [fontname=Arial fontsize=11] 1 -> 2 -> 3 -> 4 -> 2 }Реализуйте итератор и функцию проверки наличия цикла в списке.
Техника проверки:
Создать два итератора: один перемещается по списку с шагом 1 (черепаха), другой с шагом 2 (заяц).
Одновременно обойти список двумя итераторами.
Если оба итератора дошли до конца списка, то цикла нет.
Если в процессе обхода итераторы оказались на одном элементе, то цикл есть.