Sono interessato a ripetere in un elenco in modo tale che possa iniziare in qualsiasi posizione e scorrere l'intera lista risalendo fino alla fine e quindi ricominciando dall'inizio e iterando fino alla posizione di partenza."Circular" per loop in C
Diciamo che voglio fare questo per una serie che è garantita da 4 elementi: array di caratteri [4] = { 'a', 'b', 'c', 'd'}
I ho difficoltà a costruire un ciclo for tale da poter iniziare da 'a', loop abcd, o iniziare da 'b', loop bcda, o iniziare da d, loop dabc, ecc.
Penso la parte iniziale del ciclo for sarebbe qualcosa come i = startingPosition.
Penso che la parte di incremento del ciclo for sarebbe qualcosa come i = (i + 1)% 4. In questo modo, a partire dall'indice 2, ad esempio, salirà a 3, quindi a 0, quindi a 1, ecc.
Che cosa dovrebbe essere la condizione intermedia "di terminazione"?
for(i = startingPosition; ???; i = (i+1)%4)
Grazie!
come una coda-testa per un buffer circolare? *** [guarda qui] (http://stackoverflow.com/questions/3882343/suggestions-for-concise-index-handling-in-circular-buffer) *** – ryyker