Я пытаюсь подсчитать инверсии в перестановке, и для этого мне нужно сделать обмен. Дело в том, массив символов должен выглядеть B, и я пытаюсь использовать что-то вроде механизма BubbleSort, но замена не работает на всех, и я не знаю, почему, вот код:Подсчет инверсий - массив символов не хочет меняться?
char[] john = {'A', 'A', 'C', 'B'};
char[] marg = {'B', 'A', 'C', 'A'};
for(int i=0; i<john.length; i++){
for(int j=i+1; j<john.length; j++){
if(marg[i]==john[j]){
char temp = john[j];
john[j] = john[j-1];
john[j-1] = temp;
counter++;
}
}
}
После этого цикл john выглядит точно так же, как раньше.
Я хочу, чтобы преобразовать массив символов Джона в марг (с подсчетом всех свопов), так что для этого примера счетчика должны иметь значение 4.
Что я делаю неправильно?
Прикрепите отладчик и отлаживайте код. – Vampire