Хорошо, я должен начать с извинений за вводящий в заблуждение характер названия этой статьи. Пузырьковая сортировка - не один из моих любимых алгоритмов сортировки, поэтому я не чувствую особой радости. При этом я считаю, что пузырьковая сортировка - это здорово, если вы только начинаете работать с алгоритмами сортировки или просто с алгоритмами в целом, так что давайте приступим к делу!

Псевдокодируйте это!

Пузырьковая сортировка работает, делая большие значения массива «пузырьками» наверху. Мы начинаем с массива [21, 23, 42, 12, 40] и сравниваем каждую пару чисел по мере прохождения по нему. При сравнении мы проверяем, больше ли первое число в паре второго. Если оно больше, мы меняем местами два числа! На фотографиях ниже показан первый обмен, который произойдет между 42 и 12.

Конечно, это снова происходит с 42 и 40, прежде чем мы снова начнем цикл ...

Этот процесс продолжается до тех пор, пока все самые большие числа не «выскочат» наверх, и массив не будет отсортирован!

Теперь закодируйте это!

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

Затем, используя swap (), мы создаем нашу функцию bubbleSort (), которая принимает наш несортированный массив и возвращает его нам отсортированным!

Сложность времени

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