Меня интересует итерация в списке таким образом, что я могу начать в любом положении и перебирать весь список, поднимаясь до конца, а затем возвращаясь к началу и итерации до начальной позиции.«Циркуляр» для цикла в C
Давайте говорить, что я хочу сделать это для массива, который гарантированно 4 элемента: массив символов [4] = { 'а', 'б', 'с', 'd'}
I у меня возникли трудности с построением цикла цикла, так что я могу начинать с «a», и цикл abcd, или начинать с «b», и цикл bcda, или начинать с d, и цикл dabc и т. д.
Я думаю начальная часть цикла for будет похожа на i = startPosition.
Я думаю, что приращение части цикла for будет чем-то вроде i = (i + 1)% 4. Таким образом, начиная с индекса 2, например, до 3, затем 0, затем 1, и т. д.
Какое должно быть среднее условие окончания?
for(i = startingPosition; ???; i = (i+1)%4)
Спасибо!
Как хвост-голова для кольцевого буфера? *** [смотрите здесь] (http://stackoverflow.com/questions/3882343/suggestions-for-concise-index-handling-in-circular-buffer) *** – ryyker