Se il tuo array vale ad esempio {1, 2, 3, 4, 5, 6} ad occhio succede questo:

{1, 2, 3, 4, 5, 6}
{6, 2, 3, 4, 5, 1}
{6, 5, 3, 4, 2, 1}
{6, 5, 4, 3, 2, 1} <--- qui di devi fermare!
{6, 5, 3, 4, 2, 1}
{6, 2, 3, 4, 5, 1}
{1, 2, 3, 4, 5, 6}

Controlla la condizione del for