Я должен реализовать циклический массив.Использование памяти не имеет значения, мне просто нужно как можно меньше заниматься арифметикой.Мой лучший способ сделать это:
- Создать массив
T[L]
- Создать массив
S[L+2]
Заполнить S
вот так
S[0] = L-1
S[L+1] = 0
S[i+1] = i, i=0,1...L-1
Тогда
T[x] = T[S[x+1])
T[-1] = T[S[0]] = T[L-1] // last element
T[L] = T[S[L+1]] = T[0] // first element
Например:
T[-1] = T[S[1]] = T[L-1] // last element
T[L] = T[S[L+1]] = T[0] // first element