Вам нужно еще раз взглянуть на свой алгоритм. Каждый раз в цикле вы обмениваете один элемент с (в случае смещения = 1) следующим.
0,1,2,3,4
1 0 2,3,4
1, 2 , 0 3,4
1,2 3 , 0 , 4
1,2,3, 4 0
0 , 2,3,4, 1
Вы можете выполнить нужную вам операцию, но вам нужно подумать о том, как упорядочить шаги и их зависимости, чтобы получить правильный результат. В тривиальном случае вы можете просто вернуться назад с конца.
0,1,2,3,4
4 , 1,2,3, 0
4,1,2, 0 3
4,1, * 0 * тысяча сорок-четыре * 1 045 *, 2 * * одна тысяча сорок семь, 3
4, * 1 049 * 0 , * 1 * тысяча пятьдесят-одна * * тысяча пятьдесят два, 2,3
* 1 054 *