Описание алгоритма: для данных n записей две соседние записи сравниваются в последовательности из первой записи. Когда текущая запись больше, чем в последующей записи, позиция обмена выполняется. После одного раунда сравнения и обмена, самая большая запись среди N -записей будет на NTH Lefice; Затем второй раунд сравнения проводится в предыдущих (N-1) записях; Процесс повторяется до тех пор, пока не останется только одна запись для сравнения.
Сортировка пузырьков очень легко понять. В качестве примера, принимая сортировку от малого до крупного, каждый раунд сортировки находит максимальное значение в несортированной последовательности и ставит ее в конце.
Предположим, длина массива составляет n:
(1) Сравните два смежных данных спереди и сзади. Если предыдущие данные больше, чем следующие данные, обменяйте эти два данных.
(2) После прохождения 0-й данных массива до N-1 самые большие данные будут «погружены» на N-1-й позиции массива.
(3) n = n-1. Если n не 0, повторите два предыдущих двух шага, в противном случае сортировка будет завершена.
Выше приведено основная идея сортировки пузырьков, и вы можете быстро написать код в соответствии с этим определением.
Сортировка упаковки;/*** Сорта пузырьков* Среднее O (n^2), лучший O (n), худший O (n^2); Сложность пространства O (1); Стабильный; Просто * @author Zeng * */public class bubblesort {public static void bubblesort (int [] a) {int n = a.length; int temp = 0; for (int i = 0; i <n; i ++) {for (int j = 0; j <ni-1; j ++) {если [j] <j+1]) {temp = a [j]; a [j+1]; a [j+1] = temp;}}}} public static void main (string [] args) {int [] a = {49,38,65,97,76,13,27,50}; bubblesort (a); для (int j: a) system.out.print (j+"");}}Суммировать
Выше всего посвящено простой реализации сортировки пузырьков Java, и я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!