Абе ся като се замисля по-внимателно - за чий полоф орган ги правим тия извращения "итератор със стъпка 2" или "итератор със стъпка <взаимно просто число"? По дефиниция едносвързания списък има само един метод за обхождане: GetNext (т.е. дай следващия елемент) и... тфа е.
Ако проверяваме дали списъкът е цикличен (т.е. последния елемент сочи първия елемент) - то броят на извикванията на GetNext не може да е по-малък от N+1, ако ще и десет итератора да се връткат. Ако ли пък търсим къф да е цикъл (последният елемент може да сочи кой да е от другите елементи), то най-пестелиф откъм извиквания на GetNext е именно алгоритъма, който предлага CObject. Tфа е положението
Едит: Между другото по дефиниция едносвързаните списъци нямат метод GetElementsCount, но ако имаме едносвързан списък с реализиран подобен метод, то са достатъчни един итератор и точно GetElementsCount+1 извиквания на GetNext, които не връщат NULL за да се светнем, че списъкът е зациклен.Редактирано от Hekф на 05.11.08 17:23.