Java. Сортировка пузырьком.

Поділитися
Вставка
  • Опубліковано 29 вер 2024
  • Разбор сортировки пузырьком на языке Java.
    Исходники:
    github.com/Arh...
    Поддержать канал💰:
    yoomoney.ru/to...
    #ArhiTutorialsJava #ityoutubersru

КОМЕНТАРІ • 139

  • @Kiizashi
    @Kiizashi Рік тому +4

    В какой раз ты уже помогаешь мне разобраться с очередной темой! Красава мужик, продолжай в том же духе. Очень нравятся твои видосы, понятно, доступно, без заумных фраз. Супер! То, что и нужно новичку. От души

  • @malene6022
    @malene6022 Рік тому

    Первый раз вижу реализацию сортировки пузырьком через while и boolean, интересный контент!

  • @DmitryTyukilin
    @DmitryTyukilin 8 місяців тому

    Спасибо! До вашего видео, делал сортировку через два for)

  • @arsadaul9910
    @arsadaul9910 4 місяці тому

    Спасибо Сергей

  • @denisrogov7120
    @denisrogov7120 Рік тому

    я получил удовольствие от успокаивающей музыки на фоне

  • @nimgvae
    @nimgvae 4 роки тому

    Благодарю,понял что у меня было не так. Я почему то считал, что одного прохода должно хватать.Поэтому цикл "пока" даже не принимал в расчет.Буду смотреть Вас дальше.

  • @jopinfuyiro5570
    @jopinfuyiro5570 4 роки тому +87

    Мужик красавчик. Только из твоего видео понял, как работает сортировка пузырьком. Особенно идея с while и boolean вообще огонь!

    • @lexey2765
      @lexey2765 4 роки тому

      Как ты понял если видеотшлак я ничего не вижу

    • @jopinfuyiro5570
      @jopinfuyiro5570 4 роки тому +8

      ​@@lexey2765 Видео супер. Один раз посмотрел и на всю жизнь запомнил. Даже программистом не надо быть чтобы это понимать.

    • @lexey2765
      @lexey2765 4 роки тому

      @@jopinfuyiro5570 я тебе за качество говорю

    • @ascar66
      @ascar66 4 роки тому +1

      @@lexey2765 так там 1080р что именно не видно?

    • @hunterlive2434
      @hunterlive2434 3 роки тому +1

      @@ascar66он наверное качество не выставил)

  • @Dmitriy_Bulgakov
    @Dmitriy_Bulgakov Рік тому +2

    Полезное видео и автор - молодец, толково объясняет, не первое видео смотрю. Единственный момент, наверное все заметили что массив проходится на один раз больше чем требуется - вопрос, нельзя ли код написать так чтобы не было лишнего прохода?..

    • @monukmort
      @monukmort Рік тому

      Эм... Заинтриговал, разъясни)

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil Рік тому +1

      ​@@monukmort при каждом проходе поднимается самый большой элемент и при следующем до него не нужно доходить

    • @All_Is_Funk
      @All_Is_Funk Рік тому

      Как вариант:
      можно добавить счетчик захода в тело внутреннего цикла (int К = 0) ;
      Делать К++ вконце тела внутреннего цикла for.
      В самом внутреннем цикле скорректировать условие: i < (array.length - К).

    • @John_Smith_Java
      @John_Smith_Java 10 місяців тому

      Я сделал с двумя циклами for, без while.
      i - счётчик внешнего цикла.
      j - счётчик внутреннего цикла.
      Чтобы при каждой последующей итерации внутреннего цикла не трогать отсортированную часть справа, я просто задал условие внутреннего цикла array.length - i.
      Флаг назвал wasSwap, объявил его в самом начале внешнего цикла и присвоил false.
      Если во внутреннем цикле была перестановка элементов, присваиваю true.
      После каждого круга внутреннего цикла проверяю if-ом значение флага: если оно false, программа завершается.

  • @ylyasakmuhammedov1563
    @ylyasakmuhammedov1563 3 роки тому +1

    Спасибооо

  • @asylzhannnn
    @asylzhannnn 3 роки тому

    спасибо очень помогло!!!!можно Двумерный массив уроки

  • @СергейТимофеев-п6н
    @СергейТимофеев-п6н 9 місяців тому

    7:11 почему вы её не исключили?

  • @gostudio3840
    @gostudio3840 3 роки тому

    наконец-то ***ть нормальное объяснение ... 20 никчемных статей прочитал перед тем как нашел это видео. И везде усложняют столь простую вещь

  • @ДениКичков
    @ДениКичков 3 роки тому

    А разве не самый простой способ сортировки массива через Arrays.sort(); или я что-то путаю?

    • @arhitutorials
      @arhitutorials  3 роки тому +4

      Это видео для тех, кто алгоритмы изучает, а не для тех, кому просто надо отсортировать массив. Сортировки - это раздел Computer Science.
      Есть мнение, что для инженера полезно знать, что как внутри устроено.

  • @alexuvarov8901
    @alexuvarov8901 5 років тому +1

    ваш метод не совсем корректен: из-за использования флага нам приходится проходить ещё один шаг в цикле while, когда массив уже отсортирован, соответственно выводить на одну (повторяющуюся) строку больше в консоль

    • @arhitutorials
      @arhitutorials  5 років тому +11

      Ок, предложите тогда ваш вариант алгоритма. Думаю, всем будет интересно посмотреть.

    • @IvanDubrovin-p7z
      @IvanDubrovin-p7z 4 роки тому

      помести первую строчку цикла while: "isSorted=true;" в else после if

    • @ДмитрийНормов-ю6ц
      @ДмитрийНормов-ю6ц 2 роки тому

      @@IvanDubrovin-p7z, это избавит от проблемы еще одного шага в цикле?

    • @ДмитрийЧебанов-ю1м
      @ДмитрийЧебанов-ю1м 2 роки тому

      Это не проблема, т.к. сложность алгоритма всё равно останется O(n^2)

  • @Роберт-ж8я
    @Роберт-ж8я Рік тому +5

    Возможно, мой комментарий не будет особо актуальным, но всё же напишу, что сложность всегда будет не выше О(n²), а это значит, что можно просто в двойном цикле пройтись такой сортировкой, и у нас всегда будет гарантирован результат. Однако, справедливости ради, такой подход является не самым эффективным, так как проходов по массиву может быть и меньше, но всё же, как мне кажется, нельзя упускать такой вариант из виду.

  • @seka1309
    @seka1309 2 роки тому +3

    Здравствуйте спасибо, хотел уточнить почему нельзя начать с (int i=0;i

    • @va_golovanov
      @va_golovanov 2 роки тому +3

      ArrayIndexOutOfBoundsException будет. условно последний элемент имеет индекс 10, а в таком случае мы будем пытаться достать 11 элемент

  • @ОлегМолодец-м6е
    @ОлегМолодец-м6е 4 роки тому +10

    вот такой метод сортирует весь массив за "один проход" . в пузырьке должно быть два цикла: внешний и внутренний
    public static void main(String[] args) {
    int a[] = {2, 4, 66, 4, 3, 23, 5, 330};
    bublSort(a);
    System.out.println(Arrays.toString(a));
    }
    private static void bublSort(int[] a) {
    for (int i = a.length - 1; i >= 0; i--) {
    for (int j = 0; j a[j + 1]) {
    int temp = a[j];
    a[j] = a[j + 1];
    a[j + 1] = temp;
    }
    }
    }
    }
    }

    • @ykkok399
      @ykkok399 2 роки тому

      Ребята, можно ли считать метод Олега Молодцова лучшим?

    • @asakuomu
      @asakuomu 2 роки тому

      @@ykkok399 Да

    • @Hate4You
      @Hate4You 2 роки тому +1

      @@ykkok399 Нельзя. Если массив уже отсортирован, то цикл в любом случае будет продолжаться, пока не дойдет до конца. Метод на видео самый оптимальный, я только его добавил тем, что массив сортируется сразу в обе стороны, как посоветовал автор
      int[] array = {23, 45, 76, 12, 97, 54, 40, 22, 93, 46, 83, 29};
      System.out.println(Arrays.toString(array));
      boolean isSorted = true;
      while (isSorted) {
      isSorted = false;
      for (int i = 1; i < array.length; i++) {
      if (array[i] < array[i - 1]) {
      int temp = array[i];
      array[i] = array[i - 1];
      array[i - 1] = temp;
      isSorted=true;
      }
      }
      for (int i = array.length-1; i>0; i--) {
      if (array[i] < array[i-1]) {
      int temp = array[i];
      array[i]=array[i-1];
      array[i-1]=temp;
      isSorted=true;
      }
      }
      System.out.println(Arrays.toString(array));

    • @ianwasley7377
      @ianwasley7377 2 роки тому

      нет, ты не прав

    • @shindaaki
      @shindaaki Рік тому +1

      @@Hate4You Вот я олень, думал как добавить сортировку с обратной стороны, так и не придумал, спасибо тебе. Учу Джаву месяц.

  • @СергейТимофеев-п6н

    С точки зрения здравого смысла, не лучше ли было изначально переменную boolean IsSorted = true; (означает, что массив отсортирован). Отсортирован == верно, не отсортирован == не верно. Блин вот тогда в условии while противоречие. Пока массив отсортирован.
    Каким образом взаимодействуют переменная IsSorted и цикл? Как они понимают друг друга? Когда в цикле станет i = array.length , то цикл закончится.

  • @РоманИванов-ъ2з
    @РоманИванов-ъ2з Рік тому +1

    Пожалуйста объясните что происходит с переменной isSorted , не понимаю, почему в конце true, если последняя строчка false, заранее благодарю за ответ

    • @_baNZai_
      @_baNZai_ Рік тому

      знак ! это отрицание, то есть если написано !False , это означает НеFalse , то есть True, или !True означал бы НеTrue

  • @sergeysimchenkov9297
    @sergeysimchenkov9297 4 роки тому +9

    Весьма доходчиво и просто, спасибо огромное за видео!

  • @ВалераГончаренко-с5я
    @ВалераГончаренко-с5я 5 років тому +8

    Спасибо и вам, вы мне очень помогли.

  • @Бардзо
    @Бардзо Рік тому +1

    слабое обьяснение

  • @marinette_supercat
    @marinette_supercat 4 роки тому +3

    Я хз что не так. У меня компилятор прицепился к длине массива. (((((
    Спасибо за видео, не понимала, зачем через boolean делать.

  • @vantonyan4217
    @vantonyan4217 4 роки тому +1

    Народ извините я тока тока начал изучать Java у меня на этом алгоритме вот кокой вопрос , я все понимаю до того момента когда начался Boolean, прошу вас помогите понять его

  • @TimurBikaev
    @TimurBikaev 2 місяці тому

    Спасибо, еще бы по кнопкам так не бить!!

  • @Mariam_PinkLotus
    @Mariam_PinkLotus 4 роки тому +2

    блин, ТЕПЕРЬ поняла. Спасибо, Сергей. Очень понравился этот вариант с while

  • @OlegVaganov
    @OlegVaganov 3 роки тому +3

    Очень приятно и понятно с разбором деталей! Успехов вам!

  • @DzhaparBigishiev
    @DzhaparBigishiev 6 місяців тому

    что такое array[i - 1] в этом коде?

  • @ЕвгенийМатвеев-л4з5ц
    @ЕвгенийМатвеев-л4з5ц 6 місяців тому

    В универе видел немного так сказать другую версию с помощью двойного цикла..
    Подскажите, в чём разница того, что вы написали и вот моего варианта? как по мне, с двойным циклом как-то проще и не нужно булевых переменных и 'флажков'
    int [] mas = { 3, -4, 111, 2, 1, 6, 4, 7 };
    for (int i = 0; i < mas.length - 1; ++i) {
    for (int j = 0; j < mas.length - 1 - i; ++j) {
    if (mas[j + 1] < mas[j]) {
    int c = mas[j + 1];
    mas[j + 1] = mas[j];
    mas[j] = c;
    }
    }
    }

    • @arhitutorials
      @arhitutorials  6 місяців тому

      Если подсунуть алгоритму уже отсортированный массив, то ваш вариант все равно сделает n проходов по нему, а мой только один раз пройдет. На случайном массиве ваш вариант в среднем будет быстрее.
      Но если честно, я не вижу какой-то радикальной разницы. Сортировку пузырьком как не оптимизируй, все равно медленно.

  • @kirillkirill1657
    @kirillkirill1657 2 роки тому +1

    почему в цикле for запускается счетчик с " int i = 1; а не с int i = 0; " ?

    • @lauhG3
      @lauhG3 Рік тому

      что бы можно было сразу сравнить право с лева и не боятся выхода за границы массива

  • @user-segadev
    @user-segadev Рік тому

    15.10.2022

  • @Kelbi28
    @Kelbi28 2 роки тому +1

    While(! isSorted) - разве не равно true? ведь isSorted=false, и при ! - будет обратное ему значение.
    И второй вопрос, почему мы внутри вайла пишем isSorted=true, что оно значит?
    Спасибо!

    • @adrenalin497
      @adrenalin497 2 роки тому +1

      В цикле while в скобках мы указываем условие при котором действия внутри цикла будут выполняться. В нашем случае, при условии что isSorted == false ( !isSorted) будет выполняться тело цикла. Внутри isSorted = true нужен, чтобы выйти из цикла, иначе он будет бесконечным.

  • @iorgankrat1118
    @iorgankrat1118 Рік тому +1

    Супер, круто объясняете.
    Удачи Вам

  • @GF-ug7iv
    @GF-ug7iv Рік тому

    А таким кодом что ты написал можно даже заделать инверсивную сортировку. Только убери Boolean и в цикле массив дели на 2

  • @olegsvitskyi1241
    @olegsvitskyi1241 3 роки тому +1

    Super video. Spasibo bolshoe za content

  • @LoginToITJava
    @LoginToITJava 3 місяці тому

    Спасибо

  • @kirilldskoi9661
    @kirilldskoi9661 4 місяці тому

    Спасибо!

  • @Mariam_PinkLotus
    @Mariam_PinkLotus 4 роки тому +2

    ТЫ - СУПЕР!!! СПАСИБО!

  • @MechAlexander
    @MechAlexander Рік тому

    спасибо

  • @eduardich
    @eduardich Рік тому +1

    И лаконично, и очень информативно! спасибо!

  • @Novichek55
    @Novichek55 Рік тому

    В видео прозвучало что сортировка с двух сторон ускорит время выполнения, у меня наоборот сортировка в одну сторону работает быстрее. Народ есть у кого код двусторонней сортировки, которая работает быстрее, можете выложить плиз?

  • @liliyasiadzelnikava96
    @liliyasiadzelnikava96 Рік тому

    c while и флагом isSorted гораздо понятнее, чем с двойным циклом

  • @mustela70
    @mustela70 4 роки тому +1

    Лайк этому господину!

  • @VALETWIN
    @VALETWIN 2 роки тому

    Здравствуйте, как насчет записать видео о лямбда-выражениях.

  • @Akimbo_-yk9kf
    @Akimbo_-yk9kf Рік тому

    в начале цикла Вайл объявил Булиан в тру, почему он сразу не закончился?

  • @sunshineforester8747
    @sunshineforester8747 Рік тому

    Спасибо! Разобрался после создания блок-схемы! Теперь нужно разобраться с лишней строкой...

  • @wamikgildiev6632
    @wamikgildiev6632 Рік тому

    кажется шагов будет не 10, а больше. Так как вывод помещен в конце внешнего цикла. А надо в конце внутреннего. Тогда мы точно поймем за сколько операций выполнилась сортировка

  • @eugene8287
    @eugene8287 2 місяці тому

    второй раз попал но твой урок и опять лучшее объяснение!

  • @INMartyn
    @INMartyn 4 роки тому +1

    Спасибо за видео большое, осознал всю логику процесса)

  • @АнатолийГлушков-у4м

    Еще бы сразу были пояснения на счет Big O, на реальных примерах цены бы не было курсу).

  • @ИльяЛященко-н5й
    @ИльяЛященко-н5й 3 роки тому

    Выкидывает ошибку почему то, может быть расширить или типа того

  • @GF-ug7iv
    @GF-ug7iv Рік тому

    Просто интересно, если тебе бы надо было найти определенный индекс в массиве ты бы тоже через такую сортировку это делал???

    • @arhitutorials
      @arhitutorials  Рік тому

      Поиск индекса в массиве через сортировку - эта задача нетривиальная. Но если надо, сделаем)

  • @agweprint27
    @agweprint27 3 роки тому

    сделал сортировку "пузырьком" с помощью рекурсии)

  • @gagogoga794
    @gagogoga794 4 роки тому +2

    Ты бог! Я совсем не давно начал умучать Java и я опечален лишь тем, что не начал это раньше))

    • @mishazifir
      @mishazifir 3 роки тому

      Как успехи год спустя?)

    • @gagogoga794
      @gagogoga794 3 роки тому

      @@mishazifir перешёл на JS работаю на фирме ))

    • @mishazifir
      @mishazifir 3 роки тому

      Поздравляю с работой) хороший прогресс за год)

    • @gagogoga794
      @gagogoga794 3 роки тому

      @@mishazifir пахал не покладая рук, но не за год, а за полтора

    • @mishazifir
      @mishazifir 3 роки тому

      @@gagogoga794 сам факт, что не бросил достоин уважения)

  • @_v1pl_
    @_v1pl_ 4 роки тому +1

    Спасибо!

  • @stepandamrin
    @stepandamrin 4 роки тому +1

    Спасибо.

  • @ДормидонтПаслёнов

    спасибо, добрый человек!

  • @usertyfoon
    @usertyfoon Рік тому

    Спасибо за наглядное объяснение!

  • @ilgul9177
    @ilgul9177 3 роки тому

    Очень понравилось видео. Благодарю.

  • @CoS1NuS1
    @CoS1NuS1 2 роки тому

    Большое спасибо! Все понятно)

  • @mvader93
    @mvader93 4 роки тому

    Подскажите почему нельзя было просто написать:
    int temp = array[i-1]
    Зачем было ещё две строки вписывать?
    Спасибо

    • @arhitutorials
      @arhitutorials  4 роки тому +7

      Это обмен местами двух элементов в массиве. Состоит из 3-х действий:
      1) элемент в [i] запоминаем в переменной temp;
      2) в [i] записываем элемент [i -1];
      3) в [i - 1] записываем temp.
      В одно действие никак не получится,
      если сделать array[i] = array[i - 1], число в array[i] будет затерто. Чтоб его не потерять, array[i] перед присваиванием сохраняется в temp.

  • @ruslan4048
    @ruslan4048 Рік тому

    Спасибо большое!

  • @romawar1869
    @romawar1869 2 роки тому

    Вообще да , шикарно , но я еще хотел услышать где когда и зачем можнт такое использовать ?

    • @arhitutorials
      @arhitutorials  2 роки тому +1

      На собеседованиях) Иногда просят на листке написать какой-нибудь алгоритм сортировки. Сортировку пузырьком легче всего вспомнить и написать - самый простой алгоритм.

  • @dmitriyaleksandrovich1867
    @dmitriyaleksandrovich1867 2 роки тому

    Спасибо

  • @andriikniaziev9242
    @andriikniaziev9242 3 роки тому

    Офигенный способ! Спасибо большое!

  • @АбылайЖалгасбай
    @АбылайЖалгасбай 3 роки тому

    Рекомендую

  • @mvader93
    @mvader93 4 роки тому

    И зачем boolean вводили не могу понять))?

    • @arhitutorials
      @arhitutorials  4 роки тому +2

      boolean для того, чтобы вовремя остановить сортировку. Запоминаем в boolean переменной, были ли на предыдущем шаге перестановки, если нет - сортировка закончена.

  • @ЕвгенийВовк-ы7ь
    @ЕвгенийВовк-ы7ь 3 роки тому

    Спасибо!

  • @БийбиназТуремуратова

    Спасибо за урок!
    Всё поняла)

  • @Andrzej3935
    @Andrzej3935 3 роки тому

    Очень доходчиво, спасибо!

  • @МаксимГоліков
    @МаксимГоліков 5 років тому

    А тут элемент после каждого прохода не отбрасываеться

    • @arhitutorials
      @arhitutorials  5 років тому +3

      Это минимальная реализация бабл сорт, без всяких оптимизаций. Она не эффективна, согласен, но с точки зрения результата, вполне корректна. Действительно, можно отбрасывать по одному элементу, после каждого прохода, потому что образуется отсортированная последовательность, по которой делать проход не нужно. Можно еще чередовать проходы слева направо и справа налево, тогда можно отбрасывать элементы с двух концов поочередно. Но сложность при этом будет все равно O(n^2). Но это еще не самый неэффективный алгоритм сортировки из существующих habr.com/ru/post/198114/

  • @John_Smith_Java
    @John_Smith_Java Рік тому

    Кто-то из великих, не помню, кто, возможно, сам господин Немчинский, советовал держаться подальше от компаний, которые на собеседовании просят написать программу на листочке🤔😊

  • @ГлебГлеб-и2п
    @ГлебГлеб-и2п 4 роки тому

    Спасибо

  • @rostyslavyanchynsky6948
    @rostyslavyanchynsky6948 4 роки тому

    спасибо

  • @user-cx5ry5tt6s
    @user-cx5ry5tt6s 4 роки тому

    Извиняюсь, а почему нельзя было просто 2-мя циклами for пробежаться и сравнивать if( array[i] < array[J]) ? Ну тип без всяких лишних bool переменных

    • @arhitutorials
      @arhitutorials  4 роки тому +5

      два цикла for без bool переменной - это всегда гарантированные n*n итераций по массиву, даже если на вход подан уже отсортированный массив. То есть это наихудший варианты в смысле производительности, который может произойти с этим алгоритмом, но работать будет.

    • @user-cx5ry5tt6s
      @user-cx5ry5tt6s 4 роки тому

      @@arhitutorials Класс!!! Спасибо за ответ. Всегда думал, что двумя for циклами это самый оптимальный вариант. Спасибо вам, теперь беру на вооружение ваш способ с bool)

    • @John_Smith_Java
      @John_Smith_Java 10 місяців тому

      @@arhitutorials while - это же тоже цикл. Я к тому, что с двумя циклами for один в другом и булевой переменной эффективность будет не хуже, чем в вашем варианте. Только в случае с двумя for мы бесплатно получаем счётчик внешнего цикла, который можно использовать во внутреннем цикле, чтобы избежать прохождения по отсортированной части.

  • @ПарасатМолдажар-ь6м

    почему printArray(array) подсвечивается красном не понимаю много искал способ но нашел

    • @arhitutorials
      @arhitutorials  2 роки тому

      Замените printArray(array) на System.out.println(array.toString());

    • @ПарасатМолдажар-ь6м
      @ПарасатМолдажар-ь6м 2 роки тому

      @@arhitutorials у вас есть курсы по джаве полный?
      Или можете сделать интервью и ответит на вопросы
      Например мой вопрос: как развить мышление, мышление кода,.
      Говорят есть и другие способы решать но мне никогда не хватает идея на этих способу.

    • @arhitutorials
      @arhitutorials  2 роки тому

      @@ПарасатМолдажар-ь6м курса нет, потому что пока некогда его делать, работать надо.
      По вашему вопросу мне есть что сказать, как-нибудь запишу.

    • @ПарасатМолдажар-ь6м
      @ПарасатМолдажар-ь6м 2 роки тому

      @@arhitutorials с нетерпением жду

  • @МаксимГоліков
    @МаксимГоліков 5 років тому +4

    Так а это все равно не совсем корректный бабл сорт, так как мы каждый раз будем бежать до конца массива , хотя у нас один элемент будет уже отсортирован и нам нужно каждый раз один отбрасывать

    • @shluhogon_42
      @shluhogon_42 2 роки тому +1

      Да. Такой вариант будет чуть оптимальнее на мой взгляд:
      boolean isSorted = false;
      for (int i = 0; i < arr.length; i++) {
      for (int j = 0; j < arr.length - 1 - i; j++) {
      if (arr[j] > arr[j + 1]) {
      int temp = arr[j];
      arr[j] = arr[j + 1];
      arr[j+1] = temp;
      isSorted = true;
      }
      }
      if (!isSorted) {
      break;
      }

    • @ДмитрийНормов-ю6ц
      @ДмитрийНормов-ю6ц 2 роки тому

      @@shluhogon_42 , а может лучше че т замутить с применением else { isSorted = false; } - как-то так? Как чел выше предлагает.

  • @Hate4You
    @Hate4You 2 роки тому

    Почему у меня может не работать функция printArray? Подсвечивает красным

    • @arhitutorials
      @arhitutorials  2 роки тому +1

      Замените строчку на: Arrays.toString(arr);

    • @Hate4You
      @Hate4You 2 роки тому

      @@arhitutorials спасибо

  • @алекспервый-ж1ъ
    @алекспервый-ж1ъ 3 роки тому

    А можно было сделать так? Найти меньшее число поставить в начало и так далее

    • @arhitutorials
      @arhitutorials  3 роки тому +1

      Можно, получится сортировка выбором.

    • @алекспервый-ж1ъ
      @алекспервый-ж1ъ 3 роки тому

      @@arhitutorials хочу начать обучение java.. Посаветуете. Или курсы или самостоятельно по книгам?

    • @АлександрБадаландабад
      @АлександрБадаландабад 3 роки тому

      @@алекспервый-ж1ъ Смотри этого молодого человека, потом Джошуа Блох "Эффективное программирование", и ручками все повторяй