冒泡排序java
它是指这样一种排序:将一个待排序序列从头至尾依次两两相比较,若是后者比前者小,那么交换二者的位置。(一趟完成以后,最大的数字就在最后了)通过n-1趟比较事后,则排序完成。code
比较过程以下:排序
先将R[0]与R[1]比较,若是R[0]>R[1],那么将二者交换,而后比较R[1]与R[2],依次类推,直到比较到R[n-2]与R[n-1]。这样比较完一趟以后,最大的数字就已经排在序列最后了(这样就排好最大的数字)。而后再重复上面的步骤,将第2大,第3大的数字,……都排好,那么整个序列就排列好了。class
这个排序一共会比较n-1趟。sort
public static int[] bubbleSort(int[] sort) { int temp; int i, j; // 一共会比较n-1次 for (i = 0; i < sort.length - 1; i++) { // 每次将最大的数沉底 for (j = 1; j < sort.length - i; j++) { // 若是后一个数比前一个数小,那么交换两个数的位置 if (sort[j] < sort[j - 1]) { temp = sort[j]; sort[j] = sort[j - 1]; sort[j - 1] = temp; } } } return sort; }