Пузырьковая сортировка в java без использования функции?

Я хочу сделать программу пузырьковой сортировки, но без использования какой-либо функции

    public static void main(String[] args) {
        int [] a = {98,87,42,12,42,63,56,11};
        for(int i=0;i<a.length-1;i++){
            for(int j=0;j<a.length-i-1;j++){
                if (a[j]>a[j+1]){
                    int temp=a[j+1];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
                
            }
            System.out.println(a[i]);
        }
    }
}

кто-нибудь поможет мне, что я делаю неправильно?

Пожалуйста, напишите, что происходит не так.

possum 13.10.2022 14:00
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

вы хотите поменять местами a[j] и a[j+1], поэтому соблазн должен быть a[j]

System.out.println(a[i]); привязка должна быть вне шлейфов после всех переключений

это должно работать

    public static void main(String[] args) {
        int [] a = {98,87,42,12,42,63,56,11};
        for(int i=0;i<a.length;i++){
            for(int j=0;j<a.length-i-1;j++){
                if (a[j]>a[j+1]){
                    int temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
            }
        }
        for(int i=0;i<a.length;i++){
            System.out.print(a[i] + " ");
        }
    }

Другие вопросы по теме