Рекурсивная пузырьковая сортировка

Начал учить java. Делаю тестовые задание - сортировка пузырьком. Для этого захотелось сделать рекурсивную функцию, но выдает ошибку.

Ошибка:

Exception in thread "main" java.lang.StackOverflowError at com.company.Q11.Q(Q11.java:17)

Main:

package com.company;

public class Main {

    public static void main(String[] args) {

        Q11 Q11 = new Q11();
        double[] arr = new double[] {8,6,4,2,1,0};
        Q11.Q(arr);
    }
}

Q11:

package com.company;

public class Q11 {

    void Q (double[] arr) {
        double temp;
        boolean tf = false;

        for(int i = 0; i < arr.length - 1; i++) {
            if(arr[i] > arr[i + 1]) {
                tf = true;
                temp = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = temp;
            }
        }
        if (tf = true) Q(arr);
    }
}

Ответы (1 шт):

Автор решения: timur

У вас всё правильно, только для сравнения надо использовать оператор ==:

if (tf == true) Q(arr);
→ Ссылка