. , {0,1,2,3}. Java (), ++ , Java.
for (int i = 0; i < arr1.size(); i++) {
if(i != indices[i]) {
String st = arr1.get(i);
int t = indices[i];
int k = i;
int j;
while(i != (j = indices[k])){
arr1.set(k, arr1.get(j));
indices[k] = k;
k = j;
}
arr1.set(k, st);
indices[k] = k;
}
}
{3,1,2,0} 0 3. , {3 0 1 2}, st = arr1 [0], arr1 [0] = arr1 [3], arr [3] = arr1 [2], arr1 [2] = arr1 [1], arr1 [1] = st.