冒泡排序(bubble sort)

冒泡排序

       它是指这样一种排序:将一个待排序序列从头到尾依次两两相比较,如果后者比前者小,那么交换两者的位置。(一趟完成之后,最大的数字就在最后了)经过n-1趟比较过后,则排序完成。

        比较过程如下:

        先将R[0]与R[1]比较,如果R[0]>R[1],那么将两者交换,然后比较R[1]与R[2],依次类推,直到比较到R[n-2]与R[n-1]。这样比较完一趟之后,最大的数字就已经排在序列最后了(这样就排好最大的数字)。然后再重复上面的步骤,将第2大,第3大的数字,……都排好,那么整个序列就排列好了。

        这个排序一共会比较n-1趟。

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;
    }


你可能感兴趣的:(冒泡排序(bubble sort))